nodejs+redis使用

安装

linux安装及配置之前写过了http://www.cnblogs.com/zycbloger/p/6226682.html

windows安装
下载地址:https://github.com/MicrosoftArchive/redis/releases

我下的是zip,解压后
nodejs+redis使用_第1张图片

具体的配置和linux一样看那个就行了!

运行

打开一个 cmd 窗口 使用cd命令切换目录到 解压的目录运行

redis-server.exe redis.windows.conf 

如果想方便的话,可以把 redis 的路径加到系统的环境变量里或者写个 .bat文件 redis-server redis.windows.conf 双击就可以运行了,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

nodejs+redis使用_第2张图片

另启一个cmd窗口,原来的不要关闭
切换到redis目录下运行

redis-cli.exe -h 127.0.0.1 -p 6000 -a xxx
  • -h: 是指地址127.0.0.1 指的是本地,如果是远程的就写远程的地址
  • -p: 这边是端口号,具体看个人的配置 redis.windows.conf 里面的
  • -a: 密码 同上 没设就不用 写 -a了

966107-20170810173213855-143847865.png

ping 如果 pong 就说明是连接通过了

nodejs上的应用

安装 redis 依赖包

npm install redis --save

连接

var redis = require('redis'),
    config = require('../config'),
    dbConfig = config.redis,
    RDS_PORT = dbConfig.port,     //端口号
    RDS_HOST = dbConfig.host,     //服务器IP
    RDS_PWD = dbConfig.pass,      //密码
    RDS_OPTS = {auth_pass: RDS_PWD},
    client = redis.createClient(RDS_PORT, RDS_HOST, RDS_OPTS);


client.on('ready',function(res){
    console.log('ready');
});

client.on('end',function(err){
    console.log('end');
});

client.on('error', function (err) {
    console.log(err);
});

client.on('connect',function(){
    console.log('redis connect success!');
});

基本的使用

字符串

  • set key value 设置key的value
  • get key 得到key的value
  • incr key key如果是整型自增1
  • keys * 得到所有key

nodejs+redis使用_第3张图片

结合node 使用

client.set('name', 'zyc', function (err, res) {
    // todo..
});

client.get('name', function (err, res) {
    // todo...           
});

哈希

  • hset key filed value 设置key对象的field属性的value
  • hget key filed 得到key对象的field属性的value
  • hgetall key 得到key对象的所有的属性和值
  • hdel key field 删除
  • hexists key field 判断对象是否存在这个field

nodejs+redis使用_第4张图片

client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234");

client.hgetall("hosts", function (err, obj) {
    console.dir(obj);
});

client.hmset(key2, {
    "0123456789": "abcdefghij", // NOTE: key and value will be coerced to strings 
    "some manner of key": "a type of value"
});

列表

  • lpush key value [value ...] 向链表key左边添加元素
  • rpush key value [value...] 向链表key右边添加元素
  • lpop key 移除key链表左边第一个元素
  • rpop key 移除key链表右边第一元素
  • lrange key start stop 获取链表中某一段,包含最大值,-1表示最后一个元素

nodejs+redis使用_第5张图片

集合类型

  • sadd key member [member ...] 向集合key中添加元素,如果元素已经存在则忽略
  • srem key member [member ...] 从集合key中删除元素
  • smembers key 返回集合key中所有的元素
  • sinter key [key ...] 多个集合执行交集运算
  • sdiff key [key ...] 多个集合执行差集运算
  • sunion key [key ...] 多个集合执行并集运算

nodejs+redis使用_第6张图片

有序集合

  • zadd key score member [score member ...] 向有序集合key中加入一个或多个元素和分数,如果元素已经存在,则替换分数
  • zrem key member [member ...] 删除集合中一个或多个元素
  • zrange key start stop [withscores] 按元素分数从小到大顺序返回元素,如需获得对应元素的分数,在尾部加上withscores
  • zrevrange key start stop [withscores] 按元素分数从大到小顺序返回元素

nodejs+redis使用_第7张图片

client.zadd(table, score, id, function (err, res) {
});

//删除单个
client.zrem(table, id, function (err, res) {

));
// 删除多个
client.zrem(table, arr, function (err, res) {

});

// 从大到小 查询    
client.zrevrange(table, 0, -1, function (err, res) {

})

https://www.npmjs.com/package/redis 可以去redis看一下相关的资料。

转载于:https://www.cnblogs.com/zycbloger/p/node-redis.html

你可能感兴趣的:(nodejs+redis使用)