redis是一个性能非常好的内存数据库,部署在应用程序和MysqL数据中间做缓存数据库,可以极大的提升应用程序的性能,这里简单介绍nodejs客户端操作redis的demo程序
redis里面总共可以存储5种数据类型,分别是字符串,列表、集合、三列、有序集合;这里将会对这5种数据类型的增删查改一一处理;
1、redis在mac上的安装:
,当前我用的版本稳定版本是4.0.9,解压之后,进入redis-4.0.9目录,执行make && sudo make install,稍等几分钟就可以安装好;
2、redis启动:
命令行执行 redis-server即可启动,默认端口是6379;
3、安装nodejs客户端:
创建redis-node目录,在该目录下yarn init -y之后,执行命令:yarn add redis 即可安装nodejs的redis客户端,参考文档:
4、在redis-node目录下,终端上执行node,即可在终端上响应式的执行nodejs代码,用做测试,下面开始demo程序
首先要创建客户端,并连接redis服务器,在执行以下连接客户端代码之前,请确保已经运行了redis服务器:终端商执行redis-server即可,默认端口6379;
如果一切顺利,我们就已经创建好了连接redis服务器的客户端,后续操作都是在client对象上进行。
一、字符串类型
虽然说是字符串类型,但是可以存储的数据包括字符串、整数以及浮点数。
client.get('name',data);
}); // err: null data: abczhijia
下面再针对整数做一个测试:
可以看出,虽然设置的是整数,输出来的时候,其实还是字符串,所以如果要进行计算,需要自己在回调函数里面做转换
二、列表数据类型
client.lpush('friends','sam','bob',cb); //err: null data: 4 data type: number
client.lrange('friends',cb); // err: null data: [ 'bob','jhon' ] data type: object
//从右侧弹出
client.rpop('friends',cb); //err: null data: jhon data type: string
//从左侧弹出
client.lpop('friends',cb); //err: null data: bob data type: string
//打印看看发生了啥
client.lrange('friends',cb); // err: null data: [ 'sam','mike' ] data type: object
//查看索引位置的值
client.lindex('friends',cb); // err: null data: sam data type: string
//对列表进行裁剪
client.rpush('friends','tom','bryant',cb)// err: null data: 4 data type: number
client.ltrim('friends',1,2,cb); //err: null data: OK data type: string
client.lrange('friends','tom' ] data type: object
这里注意,列表的操作可以从右边rpush推入一个或者多个数据,也可以从左边lpush推入一个或多个数据;另外,取值的时候,需要指明需要起止位置,如果要获取整个,可以把结束位置写成-1。
三、集合数据类型
四、散列数据类型
五、有序集合数据类型
有序集合会复杂一点,但是可以完成很好的应用程序效果,源码地址: