nodejs에서 redis 애플리케이션의 실제 프로젝트 공유

php中世界最好的语言
풀어 주다: 2018-06-01 11:52:07
원래의
1364명이 탐색했습니다.

이번에는 nodejs에서 redis를 적용하는 실제 프로젝트 공유를 가져오겠습니다. nodejs에서 redis를 사용할 때주의사항은 무엇인가요? 다음은 실제 사례를 살펴보겠습니다.

redis는 성능이 매우 좋은 인메모리 데이터베이스입니다. 애플리케이션과 mysql 데이터 사이에캐싱 데이터 라이브러리로 배포되어 애플리케이션의 성능을 크게 향상시킬 수 있습니다. nodejs 클라이언트에서 redis 운영

Redis에 저장할 수 있는

데이터 유형은 총 5개입니다. 이는문자열, 목록, 집합, 세 개의 열, 추가, 삭제, 확인 및 순서가 지정된 집합입니다. 이 5가지 데이터 유형의 수정은 여기에서 하나씩 처리됩니다.

1 Mac에 redis 설치:

https://redis.io/download 현재 사용 중인 안정 버전은 4.0.9입니다. 압축을 푼 후 redis-4.0.9 디렉터리에 들어가서 make && sudo make install을 실행하고 설치를 위해 몇 분 정도 기다립니다.

2. Redis 시작:

명령줄에서 redis-server를 실행하면 기본 포트는 다음과 같습니다. 6379;

3. nodejs 클라이언트 설치:

이 디렉토리에서 Yarn init -y 후에 redis-node 디렉토리를 생성하고 nodejs의 redis 클라이언트를 설치하려면 다음 명령을 실행하십시오: https://github. .com/NodeRedis/node_redis

4. redis-node 디렉토리에서 다음으로 터미널에서 node를 실행하면 테스트를 위해 터미널에서 nodejs 코드를 실행할 수 있습니다. 먼저 클라이언트를 생성해 보겠습니다. 그리고 redis 서버에 연결하세요. 다음 연결 클라이언트 코드를 실행하기 전에 redis 서버가 실행 중인지 확인하세요. 터미널 공급자가 redis-server를 실행할 수 있으며 기본 포트는 6379입니다. 모든 것이 잘 되면 우리는 생성했습니다. Redis 서버에 연결하기 위한 클라이언트와 클라이언트 객체에 대한 후속 작업이 수행됩니다.

1. 문자열 유형

문자열 유형이지만 저장할 수 있는 데이터에는 문자열, 정수, 부동 소수점 숫자가 포함됩니다.

const redis = require('redis'); const client = redis.createClient(); //默认连接localhost:6379,具体配置参数可以参考文档https://github.com/NodeRedis/node_redis
로그인 후 복사
단순화를 위해 데이터 출력을 위한콜백 함수를 정의합니다:

var res = client.set('name', 'abczhijia', (err, data) => { console.log('err: ', err, ' data: ', data); }); // err: null data: OK,res的值是true client.get('name', (err, data) => { console.log('err: ', err, ' data: ', data); }); // err: null data: abczhijia
로그인 후 복사
정수에 대한 테스트를 해보겠습니다:

const cb = (err, data) => { console.log('err: ', err, ' data: ', data, ' data type: ', typeof data); }
로그인 후 복사
설정이 정수이지만 출력될 때, 사실 여전히 문자열이므로 계산을 수행하려면 콜백 함수에서 직접 변환을 수행해야 합니다.

2. 목록 데이터 유형

client.set('age', 20, cb); //err: null data: OK data type: string client.get('age', cb); //err: null data: 20 data type: string
로그인 후 복사
여기서 목록 작업은 하나 이상을 푸시할 수 있습니다. 오른쪽 rpush에서 데이터를 가져오거나 왼쪽 lpush에서 하나 이상의 데이터를 푸시할 수 있습니다. 또한 값을 가져올 때 전체 데이터를 가져오려면 시작 위치와 끝 위치를 지정해야 합니다. 끝 위치는 -1입니다.

3. 수집 데이터 유형

//从右侧推入 client.rpush('friends', 'mike', 'jhon', cb); //err: null data: 2 data type: number client.lrange('friends', 0, -1, cb); //err: null data: [ 'mike', 'jhon' ] data type: object //从左侧推入 client.lpush('friends', 'sam', 'bob', cb); //err: null data: 4 data type: number client.lrange('friends', 0, -1, cb); // err: null data: [ 'bob', 'sam', 'mike', 'jhon' ] data type: object //从右侧弹出 client.rpop('friends', cb); //err: null data: jhon data type: string //从左侧弹出 client.lpop('friends', cb); //err: null data: bob data type: string //打印看看发生了啥 client.lrange('friends', 0, -1, cb); // err: null data: [ 'sam', 'mike' ] data type: object //查看索引位置的值 client.lindex('friends', 0, cb); // err: null data: sam data type: string //对列表进行裁剪 client.rpush('friends', 'tom', 'bryant', cb)// err: null data: 4 data type: number client.ltrim('friends', 1, 2, cb); //err: null data: OK data type: string client.lrange('friends', 0, -1, cb); //err: null data: [ 'mike', 'tom' ] data type: object
로그인 후 복사

4. 해시 데이터 유형

//往集合ids中加几个元素 client.sadd('ids', 1, 2, cb); //err: null data: 2 data type: number //查看集合元素 client.smembers('ids', cb); //err: null data: [ '1', '2' ] data type: object //从集合中删除元素 client.srem('ids', 2, cb); // err: null data: 1 data type: number //看看发生了啥 client.smembers('ids', cb); //err: null data: [ '1' ] data type: object //看看集合有多少个元素 client.scard('ids', cb); //err: null data: 1 data type: number //再加几个元素进去 client.sadd('ids', 3, 5, 8, 9); // //判断元素是否在集合内 client.sismember('ids', 8, cb); // err: null data: 1 data type: number client.sismember('ids', 80, cb); //err: null data: 0 data type: number
로그인 후 복사
이 기사의 사례를 읽으신 후 방법을 숙지하신 것으로 생각됩니다. PHP 중국어 웹사이트!

추천 도서:

Vue SSR 컴포넌트 로딩 사용 방법

Vue.js 내부 리스너 사용 사례 분석

위 내용은 nodejs에서 redis 애플리케이션의 실제 프로젝트 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!