redis

安装

1
2
3
4
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xzf redis-3.0.6.tar.gz
cd redis-3.0.6
make

启动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
2
rename-command FLUSHALL BENBENREDISFLUSHALL
rename-command FLUSHDB BENBENREDISFLUSHDB

将FLUSHALL操作变为BENBENREDISFLUSHALL,将FLUSHDB变为BENBENREDISFLUSHDB,以降低开发过程中不小心将数据全部清空的概率

python 操作

初始化

1
2
3
import 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类型的list

1
r.lindex('alist',pos)

等价于alist[pos]

dict

hash

python中的dict类型对应在redis中的类型是hash

hmset

这是可以直接把python中的dict一次性存入redis的命令

1
2
dict_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对应的value

1
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’)

分享到