https://redis.io/
remote dictionary server
, 远程字典服务. 顾名思义, redis的基础存储方式是键对值, 是一种常用的非关系型数据库.服务端
windows
https://github.com/microsoftarchive/redis
ubuntu
apt-get install redis-server
mac
brew install redis
客户端
windows
ubuntu
# 没有图形界面
apt-get install redis-cli
mac
medis
python连接
pip install redis
import redis
# 指定使用的database
redis_con = redis.Redis(host='localhost', port=6379, db=2)
通过redis-cli命名进行连接
redis-cli -h localhost -p 6379
# 选择使用的数据库
C:\Users\TuNan>redis-cli
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]>
# 查看当前库下所有的key
127.0.0.1:6379[2]> keys *
String
Create
set key value
Retrieve
get key
Update
set key value
Delete
del key
Hash
Create
hset 变量名 key value
Retrieve
hget 变量名 key
Update
hset 变量名 key value
Delete
hdel 变量名 key
List
Create
lpush 变量名 value
Retrieve
通过索引取值
lindex 变量名 索引值
lindex 'list_test' 1
通过索引取一定范围的值
lrange 变量名 start end
lrange 'list_test' 0 2
Update
linsert 变量名 before[after] pivot value
linsert 'list_test' before 'a' 'b'
Delete
rpop
从右侧, 也就是list的末尾移除一个元素并返回
rpop 'list_test'
lpop
从左侧, 也就是头部移除一个元素并返回
lrem
删除一定数目的元素
lrem 变量名 删除个数, 删除元素
Set
Create
sadd 变量名 value
Retrieve
获取集合中的所有成员
smembers 变量名
判断当前元素是否在集合当中
sismember 变量名 value
sismember 'set_test' 2
返回随机数
srandmember 变量名 随机返回的数量
srandmember 'set_test' 2
Update
无
Delete
spop 变量名
Zset
有序集合
可以通过有序集合完成一个复杂的优先级队列
create
zadd 变量名 分数 value
Retrieve
返回当前成员数
zcard 'zset_test'
获取一定分数区间的成员数
zcount 变量名 min_score max_score
通过一定分数区间获取值
zrangebyscore 变量名 min_score max_score
zrangebyscore 'zset_test' 2 1
Update
加分
zincrby 变量 加分值 value
zincrby 'zset_test' 1 'b'
Delete
根据排名移除成员
zremrangebyrank 变量名 start stop
zremrangebyrank 'zset_test' 1 2
根据分数移除成员
zremrangebyscore 变量名 min_score max_score
zremrangebyscore 'zset_test' 2 2