认识常见中间件-redis
warning:
这篇文章距离上次修改已过445天,其中的内容可能已经有所变动。
Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis的主要优势在于其支持的数据类型丰富(包括string,list,set,sorted set,hash),存储系统的高可用性,以及其提供的一些特殊功能,如发布/订阅,主从复制,群集等。
以下是一些Redis的基本操作:
- 连接Redis
import redis
r = redis.Redis(host='localhost', port=6379, db=0)- 设置键值对
r.set('foo', 'bar')- 获取键值对
r.get('foo')- 删除键值对
r.delete('foo')- 查看键是否存在
r.exists('foo')- 设置键的过期时间
r.expire('foo', 5) # 5秒后过期- 获取键的剩余生存时间
r.ttl('foo')- 将值追加到已存在的列表键
r.rpush('mylist', 'value1')
r.rpush('mylist', 'value2')- 从列表左侧弹出一个值
r.lpop('mylist')- 获取列表中的所有值
r.lrange('mylist', 0, -1)- 向集合中添加一个成员
r.sadd('myset', 'value1')- 获取集合中的所有成员
r.smembers('myset')- 设置散列字段的值
r.hset('myhash', 'field1', 'value1')- 获取散列字段的值
r.hget('myhash', 'field1')- 获取散列中的所有字段和值
r.hgetall('myhash')- 发布消息
r.publish('mychannel', 'hello world')- 订阅频道
pubsub = r.pubsub()
pubsub.subscribe('mychannel')
pubsub.listen()以上只是Redis功能的冰山一角,Redis还有很多其他的功能和特性,如流数据类型、事务、Lua脚本支持、带宽限制等。
评论已关闭