简介和安装
- 开源高性能key-value存储;采用内存中(in-memory)数据集的方式,也可以采用磁盘存储方式(前者性能高,但数据可能丢失,后者正好相反)
- 支持字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等;支持对复杂数据结构的高速操作。
- 特性多,支持主从同步、pub/sub等
- 支持多种客户端(http://redis.io/clients)
- ...
注:应用场景没有提到,暂时没有太多实际体会,不瞎说,以免误导人,但是从它的简介和特性来说,起码缓存场景是不错的!
Redis下载地址: https://github.com/dmajkic/redis/downloads
node.js客户端:node_redis https://github.com/mranney/node_redis/
redis非常方便,直接下载解压就可以使用,因为开发环境是win7 64位,直接下载(示例下载的安装包:redis-2.4.5-win32-win64.zip)
解压到后运行"64bit"文件夹下的redis-server.exe即可,但是这样运行会出现一个如下警告提示:
#Warning: no config file specified,using the default config. In order to specify a config file use ‘redis-server /path/to/redis.conf’
提示也比较明显,没有明确的配置文件,使用的是默认配置,请使用‘redis-server /path/to/redis.conf’指定明确的配置文件
根据提示运行redis成功(如下图)
在redis-server.exe同级目录下可以看到一个redis.conf文件,这就是配置文件
npm install redis 或者 npm install hiredis redis
我这里采用 npm install hiredis redis 安装
注:两种都可用,区别在于性能,hiredis是非阻塞的,而且速度更快;如果安装了hiredis,node_redis则会默认以它为解析器,没安装就会用纯javascript解释器,对于学习或者开发环境,用哪个都无所谓
redis.createClient()连接到redis服务器
环境都准备好了,就开始写一代简单的代码测试用nodejs连接一下服务器
var redis = require('redis'), client = redis.createClient(); client.on('ready',function(err){ console.log('ready'); });
从上图中可以看到运行结果,输出ready,表示成功!
对代码还是讲一下:
redis.createClient():返回的是一个RedisClient的对象,大家可以输出来看一下此对象的具体信息。
ready:Redis的Connection事件之一,当与redis服务器连接成功后会触发这个事件,此时表示已经准备好接收命令,当这个事件触发之前client命令会存在队列中,当一切准备就绪后按顺序调用
对于上面的几句代码就能连接成功redis服务器,原因是当前redis服务器在本地,如果不在本地,怎么连接呢?
var redis = require('redis'), RDS_PORT = 6379, //端口号 RDS_HOST = '127.0.1.1', //服务器IP RDS_OPTS = {}, //设置项 client = redis.createClient(RDS_PORT,RDS_HOST,RDS_OPTS); client.on('ready',function(res){ console.log('ready'); });