- 安装
ubuntu:
下载压缩安装包:
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
解压:
tar xzf redis-4.0.9.tar.gz
放到usr/local⽬录下:
sudo mv ./redis-4.0.9 /usr/local/redis/
进入redis目录:
cd /usr/local/redis/
生成:
sudo make
测试:
sudo make test
安装:
cd src
sudo make install
查看编译好的文件:
ls /usr/local/bin/redis-*
修改配置文件位置:
cd ..
sudo mkdir /etc/redis
sudo cp /usr/local/redis/redis.conf /etc/redis/
启动redis:
sudo redis-server /etc/redis/redis.conf
连接redis:
redis-cli # ping后得到pong就可正常使用
windows安装参考windows下redis安装
- redis的使用
服务端:
redis-server --help #查看帮助
ps aux | grep redis #查看redis服务进程
sudo kill -9 pid #杀死正在进行的服务
sudo redis-server /etc/redis/redis.conf #启动服务端
客户端:
redis-cli #连接redis
- 常用命令
增:
字符串:
set key value #增加或修改
mset key1 value1 key2 value2 ... #多个增加或修改
列表:
lpush key value1 value2 ... #从某个键左/右侧增加
linsert key before或after 现有元素 新元素 #从某个键某个值前面或后面增加
哈希:
hset key field value #写入/修改一个哈希类型的数据
hmset key field1 value1 field2 value2 ...
集合:
sadd key member1 member2 ...
无序集合:
zadd key score1 member1 score2 member2 ...
删:
字符串:
del key1 key2 ...
列表:
lrem key count(删除界限) value
哈希:
hdel key field1 field2 ...
集合:
srem key
有序集合:
zrem key member1 member2 ...
改:
字符串:
set key value
mset key1 value1 key2 value2 ...
列表:
lset key index value
哈希:
hset key field value
hmset key field1 value1 field2 value2 ...
查:
字符串:
get key # 根据键值查找
列表:
lrange key start stop #查找某个键从start到stop的值
哈希:
hkeys key #查找某个键下所有的属性
hget key field #查找某个键下字段的值
hmget key field1 field2 ... #查找某个键下的多个字段的值
集合:
smembers key #返回所有
有序集合:
zrange key start stop #查找某个键从start到stop的值
键命令:
keys pattern #查找键,支持正则,如:keys *
exists key1 #查看是否存在
del key1 key2 ... #删除
expire key seconds #设置过期时间
- 与python交互
StrictRedis对象⽅法:
需安装相应模块,命令与数据库命令相应
sudo pip install redis
from redis import *
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis(host='localhost', port=6379, db=0)
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.set('name','itcast')
#输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print(result)
StrictPipline的使用:
使多条命令集中起来执行,避免多次读写
from redis import *
try:
sr=StrictRedis()
pl=sr.pipeline()
pl.set('py1','gj')
pl.get('py1')
pl.keys()
result=pl.execute()
print result
except Exception,e:
print e
- 各种数据类型应用场景
字符串:页面点击数
哈希:关系型数据,如用户信息
set集合:社交圈子数据,粉丝数量等