Node.js--使用Redis

在Node.js中使用Redis

  • Redis基本介绍
  • Redis的基本使用
  • Express项目中Redis代码的组织

Rdis基本介绍

  • 基本功能
  • 基本工具
基本功能:
  • 缓存系统
  • 数据存储
  • 消息中介
基本工具:
  • 服务启动工具
  • 命令行客户端工具
  • GUI工具
redis-server启动redis服务,不过不能关闭这个连接。
但是可以用守护进程的方式启动,需要修改配置文件
  • 使用vim /etc/redis.conf
  •                                              修改daemonize的no为yes
  • 使用命令redis-server /ect/redis.conf让redis以守护进程的方式完成启动
命令行的客户端工具
  • redis-cli命令直接连接
  •  redis-cli --help连接帮助
  • redis-cli -h 127.0.0.1 -p 6379指定ip和端口连接

redis的基本使用

  • 存储和获取值
命令行运行redis:

set.js:
var redis = require('redis');

var client = redis.createClient(6379, 'localhost');

client.set('hello', {a: 1, b: 2});

client.get('hello', function(err,v){
	console.log('redis get hello err, v:', err, v);
})
运行set.js

查看上传:


  • 列表:直接插入数据,不管里面有没有
client.js:
var redis = require('redis');

module.exports = redis.createClient(6379, 'localhost');
lists.js:

var client = require('./client');

client.rpush('testLists', 'a');  //先在命令行运行两次代码,然后把roush和lpush操作注释
client.rpush('testLists', 'b');
client.rpush('testLists', 'c');
client.rpush('testLists', 1);
client.lpush('testLists', 2);

client.lpop('testLists', function(err, v){
	console.log('client.lpop, err, v:', err, v);
});

client.rpop('testLists', function(err, v){
	console.log('client.rpop, err, v:', err, v);
});


client.lrange('testLists', 0, -1, function(err, lists){
	console.log('client.lrange, err, lists:', err, lists);
});
运行结果:

具体可以看这个朋友写的redis学习总结:   Redis学习手册
  • 集合:插入时先看集合里有相同的数据没有,有就不插入,没有才插入
client.js:
var redis = require('redis');

module.exports = redis.createClient(6379, 'localhost');
sets.js:
var client = require('./client');

client.sadd('testSet', 1);
client.sadd('testSet', 'a');
client.sadd('testSet', 'bb');

client.smembers('testSet', function(err, v){
	console.log('client.smembers err, v:', err, v);
})
运行结果:


列表和集合的区别: 列表:直接插入数据,不管里面有没有;集合:插入时先看集合里有相同的数据没有,有就不插入,没有才插入
  • 消息中介
client.js:
var redis = require('redis');

module.exports = redis.createClient(6379, 'localhost');
sub.js(订阅):
var client = require('./client');

client.subscribe('testPublish');

client.on('message', function(channel, msg){
	console.log('client.on message, channel:', channel, 'message:', msg);
});
pub.js(发布):
var client = require('./client');

client.publish('testPublish', 'message from pub.js');
运行结果:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值