redis是一个key-value存储系统。它支持string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。
为了保证效率,数据都是缓存在内存中。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了多台机器
的redis缓存同步,让内存不受限制。
优势:
1.支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
2.丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
3.支持丰富数据类型,支持string,list,set,sorted set,hash
4.速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
5.支持持久化,如RDB内存快照和AOF日志文件
字符串操作:
设置: set key value 获取:get key
设置超时时间: set key value ex timeout 查看:ttl key
单独设置一个key的超时时间: expire key timeout
查看所有key: keys *
列表操作:(支持栈、队列)
设置(左边添加): lpush key value 移除(左边移除): lpop key
设置(右边添加): rpush key value 移除(右边移除): rpop key
获取(支持切片): lrange key 0 -1 移除(指定删除): lrem key number(正负数,左右开) value(指定值)
获取(下标): lindex key number
统计(count): llen key
集合操作:
设置: sadd key value 移除: srem key value
获取: smembers key
统计: scard key
交集(显示同一数据): sinter key1 key2
并集(合并去重): sunion key1 key2
差集(key - key1): sdiff key key1
哈希操作(设置字典):
设置: hset key field value 移除: hdel key field
获取: hget key field 获取所有: hgetall key
获取(field): hkeys key 获取(value): hvals key
判断(0=False,1=True): hexists key field
统计: hlen key
Python与redis:https://www.cnblogs.com/haiyan123/p/8492417.html