Node.js操作Redis

安装Redis

先来安装Redis,我学习的时候是在自己的Windows上学习的。Windows操作如下
下载地址:https://github.com/MSOpenTech/redis/releases。
图片说明
新建一个Redis文件夹,进到这个文件夹里解压,然后cmd进入到这个文件夹中,开启Redis服务
指令为 redis-server.exe redis.windows.conf

开始

Hello World

先来安装一个依赖:npm install redis,然后可以创建server.js文件写一点测试代码

//server.js
const redis = require('redis')
const client = redis.createClient(6379,'localhost') 
client.set('hello','world')
client.get('hello',(err,value)=>{
    console.log('redis get hello ',value)
})

读对象

如果直接读的话会报错,这里可以重写一下toString()方法

Object.prototype.toString = function(){
    return JSON.stringify(this)
}

数据结构

字符串-String

  • set 设置存储在给定键中的值 set('key', 'value')
  • get 获取存储在给定键中的值 get('key')
  • del 删除存储在给定键中的值(任意类型) del('key')
  • append 将值value追加到给定键当前存储值的末尾 append('key', 'new-value')

列表-List

List是一个双向链表

  • del 清除数据
  • rpush 从右端插入一条数据
  • lpush 从左端插入一条数据
  • lpop 从左端删除一条数据
  • rpop 从右端删除一条数据
  • lrange 从两边取值

栗子:

const redis = require('redis')
const client = redis.createClient(6379, 'localhost')
//先清除数据
client.del('testLists');
client.rpush('testLists', 'h');
client.rpush('testLists', 'e');
client.rpush('testLists', 'l');
client.rpush('testLists', 'l');
client.rpush('testLists', 'o');

client.lpop('testLists', function (err, value) {
    console.log(value); //h
})

client.rpop('testLists', function (err, value) {
    console.log(value); //o
})

client.lrange('testLists', 0., -1, function (err, lists) {
    console.log(lists);//['e','l','l']
})

集合-Set

  • sadd 将给定元素添加到集合 sadd('key', 'value1'[, 'value2', ...]) //(不支持数组赋值)(元素不允许重复)
  • smembers 返回集合中包含的所有元素 smembers('key')
  • sismenber 检查给定的元素是否存在于集合中 1/0 sismenber('key', 'value')
  • srem 如果给定的元素在集合中,则移除此元素 srem('key', 'value')
  • scad 返回集合包含的元素的数量 sacd('key')
  • spop 随机地移除集合中的一个元素,并返回此元素 spop('key')

散列-Hash

  • hset 在散列里面关联起给定的键值对 hset('hash-key', 'sub-key', 'value') //(不支持数组、字符串)
  • hget 获取指定散列键的值 hget('hash-key', 'sub-key')
  • hgetall 获取散列包含的键值对 hgetall('hash-key')
  • hdel 如果给定键存在于散列里面,则移除这个键 hdel('hash-key', 'sub-key')
  • hmset 为散列里面的一个或多个键设置值 hmset('hash-key', obj)
  • hmget 从散列里面获取一个或多个键的值 hmget('hash-key', array)
  • hlen 返回散列包含的键值对数量 hlen('hash-key')
  • hexists 检查给定键是否在散列中 hexists('hash-key', 'sub-key')
  • hkeys 获取散列包含的所有键 hkeys('hash-key')
  • hvals 获取散列包含的所有值 hvals('hash-key')

有序集合-zset

  • zadd 将一个带有给定分支的成员添加到有序集合中 zadd('zset-key', score, 'key') //(score为int)
  • zrange 根据元素在有序排列中的位置,从中取出元素
  • zrangebyscore 获取有序集合在给定分值范围内的所有元素
  • zrem 如果给定成员存在于有序集合,则移除
  • zcard 获取一个有序集合中的成员数量 zcard('key')
全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
10-29 22:30
吉林大学 Java
同专业学长学姐,去互联网大厂的起薪 15k+,去国企 IT 岗的也有 12k+,就连去中小厂的都基本 13k 起步😤 我投的传统行业技术岗,拼死拼活拿到 1Woffer,本来还挺开心,结果逛了圈牛客直接破防,同是校招生,行业差距怎么就这么大啊!
喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
校招生月薪1W算什么水平
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务