Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis的数据都是缓存在内存中,同时可以定期写入磁盘,保证了数据的持久性。
Redis支持主从同步,可以配置集群,这样可以有效的保证高并发下的数据一致性。
Redis的应用场景非常广泛,包括但不限于:缓存系统、排行榜系统、计数器应用、消息队列系统等。
以下是一些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.lpush('mylist', 'value1')
- 从列表尾部删除元素
r.rpop('mylist')
- 设置集合中的一个或多个成员
r.sadd('myset', 'value1')
- 获取集合中的所有成员
r.smembers('myset')
- 设置有序集合中的一个成员的分数
r.zadd('myzset', {'value1': 10})
- 获取有序集合中的成员数
r.zcard('myzset')
- 计算有序集合中成员的排名
r.zrank('myzset', 'value1')
- 获取有序集合中成员的分数
r.zscore('myzset', 'value1')
- 通过索引范围返回列表中的元素
r.lrange('mylist', 0, -1)
- 设置哈希表字段的值
r.hset('myhash', 'field1', 'value1')
- 获取哈希表中字段的值
r.hget('myhash', 'field1')
- 获取所有哈希表中字段的值
r.hgetall('myhash')
- 执行原子的增减操作
r.incr('counter') # 自增
r.decr('counter') # 自减
以上就是Redis的一些基本操作,Redis还有很多其他的功能和命令,可以在实际应用中根据需要进行学习和使用。