一、Redis的数据结构
redis存储的是key-value格式的数据,其中key都是字符串,value有5种不同的数据结构:
- 字符串类型 string
- 哈希类型 hash : map格式
- 列表类型 list : linkedlist格式。支持重复元素
- 集合类型 set : 不允许重复元素
- 有序集合类型 sortedset:不允许重复元素,且元素有顺序
二、不同数据结构命令操作
1、字符串类型 string
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
1.1、存储操作:set key value
1.2、获取操作:get key
1.3、删除操作:del key
2、哈希类型 hash
hash 是一个键值对集合,是一个string类型的field和value的映射表,hash特别适合用于存储对象。
1.1、存储操作:hset key field value
1.2、获取操作
hget key field:获取指定的field对应的值
hgetall key:获取所有的field和value
1.3、删除操作:hdel key field
3、列表类型 list
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
1.1、存储操作
lpush key value: 将元素加入列表左表
rpush key value:将元素加入列表右边
1.2、获取操作: lrange key start end :范围获取
1.3、删除操作
lpop key: 删除列表最左边的元素,并将元素返回
rpop key: 删除列表最右边的元素,并将元素返回
4、集合类型 set
Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
1.1、存储操作:sadd key value
1.2、获取操作:smembers key:获取set集合中所有元素
1.3、删除操作:srem key value:删除set集合中的某个元素
5、有序集合类型 sortedset
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
1.1、存储操作:zadd key score value
1.2、获取操作:zrange key start end [withscores]
1.3、删除操作:zrem key value
6、通用命令
keys * : 查询所有的键
type key : 获取键对应的value的类型
del key:删除指定的key value