nodejs+redis使用

安装

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

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

我下的是zip,解压后
img

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

运行

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

redis-server.exe redis.windows.conf 

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

966107-20170810171641730-1834982008.png

另启一个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

966107-20170810174458730-339507345.png

结合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

966107-20170810175016370-991346311.png

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表示最后一个元素

966107-20170810175404152-796994963.png

集合类型

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

966107-20170810175417777-1378717332.png

有序集合

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

966107-20170810175429620-2000127388.png

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值