redis简单介绍
https://redis.io/什么是redis?
remote dictionary server, 远程字典服务. 顾名思义, redis的基础存储方式是键对值, 是一种常用的非关系型数据库.redis的特点
- 内存操作, 相对于传统数据库从硬盘上读取数据速度, 快了一个数量级.
redis服务是单线程工作模式, 不会产生一般的并发问题.
在我们使用多线程或者多进程去进行一般IO操作会发生读写冲突. 如果我们的多线程和多进程程序去读取redis消息队列当中的值时, 由于redis是单线程工作模式, 读事件和写事件都会按顺序执行, 避免了并发问题.
redis的安装
服务端
windows
https://github.com/microsoftarchive/redisubuntu
apt-get install redis-servermac
brew install redis
客户端
windows
- redis-desktop
ubuntu
# 没有图形界面 apt-get install redis-climac
medispython连接
pip install redisimport redis # 指定使用的database redis_con = redis.Redis(host='localhost', port=6379, db=2)
redis的数据类型和CRUD
通过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 valueRetrieve
get keyUpdate
set key valueDelete
del key
Hash
Create
hset 变量名 key valueRetrieve
hget 变量名 keyUpdate
hset 变量名 key valueDelete
hdel 变量名 key
List
Create
lpush 变量名 valueRetrieve
通过索引取值
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 变量名 valueRetrieve
获取集合中的所有成员
smembers 变量名判断当前元素是否在集合当中
sismember 变量名 value sismember 'set_test' 2返回随机数
srandmember 变量名 随机返回的数量 srandmember 'set_test' 2
Update
无
Delete
spop 变量名
Zset
有序集合
可以通过有序集合完成一个复杂的优先级队列
create
zadd 变量名 分数 valueRetrieve
返回当前成员数
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
Comment here is closed