이번에는 nodejs에서 redis를 적용한 사례에 대해 자세히 설명드리겠습니다. nodejs에서 redis를 사용할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.
redis는 성능이 매우 좋은 인메모리 데이터베이스입니다. 애플리케이션과 mysql 데이터 사이에 캐싱 데이터 라이브러리로 배포되어 애플리케이션의 성능을 크게 향상시킬 수 있습니다. nodejs 클라이언트에서 redis 운영
Redis에 저장할 수 있는데이터 유형은 총 5개입니다. 이는 문자열, 목록, 집합, 세 개의 열, 추가, 삭제, 확인 및 순서가 지정된 집합입니다. 이 5가지 데이터 유형의 수정은 여기에서 하나씩 처리됩니다.
1 Mac에 redis 설치: 2. Redis 시작: 명령줄에서 redis-server를 실행하면 기본 포트는 다음과 같습니다. 6379; 3. nodejs 클라이언트 설치: 이 디렉토리에서 Yarn init -y 후에 redis-node 디렉토리를 생성하고 nodejs의 redis 클라이언트를 설치하려면 다음 명령을 실행하십시오: https://github. .com/NodeRedis/node_redis4. 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 중국어 웹사이트!
추천 도서:
ES6에서 전체 화면 스크롤 플러그인을 구현하는 단계에 대한 자세한 설명
위 내용은 nodejs의 redis 적용 사례에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!