安装
1 | wget http://download.redis.io/releases/redis-3.0.6.tar.gz |
启动redis
1 | src/redis-server |
会在前台启动,然后再启动客户端来进行测试1
src/redis-cli
可以在测试端里写1
set foo bar
然后再写1
get foo bar
分别对应着存取操作
安装redis-py
1 | sudo easy_install redis |
安装hiredis
1 | pip install hiredis |
这个parser的效率比较高
后台启动redis
修改redis目录下的redis.conf文件,将其中的1
daemonize no
修改为1
daemonize yes
然后关闭刚才在前台启动的redis-server,进入到redis的目录1
src/redis-server ./redis.conf
即可启动redis
关闭后台redis
打开redis-cli,输入1
shutdown save
即可安全退出redis,后面的save表示会保存之后再退出,如果是nosace则是马上退出,有可能会存在数据丢失
配置redis安全选项
1 | rename-command FLUSHALL BENBENREDISFLUSHALL |
将FLUSHALL操作变为BENBENREDISFLUSHALL,将FLUSHDB变为BENBENREDISFLUSHDB,以降低开发过程中不小心将数据全部清空的概率
python 操作
初始化1
2
3import redis
r=redis.StrictRedis(host='localhost',port=6379,db=0)
list
lpush && rpush
lpush对应在list头加入元素,rpush对应在list尾加入元素
lrange可以取出对应范围的元素
比如要往一个叫做alist的list里append一个数据,可以直接用1
r.rpush('alist',value1,value2...)
后面跟至少一个参数
运行1
r.lrange('alist',0,-1)
取出alist中的所有数据,返回类型是一个string类型的list1
r.lindex('alist',pos)
等价于alist[pos]
dict
hash
python中的dict类型对应在redis中的类型是hash
hmset
这是可以直接把python中的dict一次性存入redis的命令1
2dict_a={'a':1,'b':2}
r.hmset('dict_a',dict_a)
这就直接把一个叫做dict_a的dict存入了redis中,并且这个名字保持一致
hgetall
想要一次性把dict_a全部取出来1
dict_a=r.hgetall('dict_a')
hget
读取key对应的value1
value=r.hget('dict_a','a')
hdel
用来删除dict中对应的键值1
r.hdel('dict_a','key')
mset mget
`
r.mset({‘name1’:value1,’name2’:value2})
r.mget(‘name1’,’name2’)