Redis的数据类型
redis是以key:value格式存储数据的,其中key都是字符串,value有5中不同的数据类型
- 字符串(String)
- 列表(List)- 元素可重复
- 集合(Set)- 不允许重复元素
- 有序集合(sorted set)
- 哈希(Hash)
命令操作
字符串(String)
存储:set key value
获取:get key
删除:del key
哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
存储:hst key field value
获取:
指定的field对应的值:hget key field
所有field和value:hgetall key
删除:ddel key field
列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)
添加
将元素加入列表左边:lpush key value
将元素加入列表右边:lpush key value
获取
获取范围:lrange key start stop
删除
删除列表最左边的元素,并将元素返回:lpop key
删除列表最右边的元素,并将元素返回:lpop key
集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
存储:sadd key value
获取:
获取set集合中所有元素:smembers key
删除:srem key value
有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
存储:zadd key score value
获取:
获取范围内的值:zrange key start stop
获取范围内的值+分数:zrange key start stop withscores
删除:zrem key value
通用命令
查询所有的键(支持正则表达式):keys *
获取键对应的value的类型:type key
删除指定的key:del key