认识常见中间件-redis
warning:
这篇文章距离上次修改已过187天,其中的内容可能已经有所变动。
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脚本支持、带宽限制等。
评论已关闭