set key value
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。
Hash(对象)
hmset name key1 value1 key2 value2
Redis hash 是一个键值(key=>value)对集合。 Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
// 命令
hset person name bingo
hset person age 20
hset person id 1
hget person name
(person = {
"name": "bingo",
"age": 20,
"id": 1
})
List(有序集合)
list是有序列表
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) lpush name value 在 key 对应 list 的头部添加字符串元素
rpush name value 在 key 对应 list 的尾部添加字符串元素
lrem name index key 对应 list 中删除 count 个和 value 相同的元素
llen name
返回 key 对应 list 的长度
lrange命令可以读取某个闭区间的元素,可以基于list实现分页查询,缓存的数据类似于粉丝列表之类的
// 0开始位置,-1结束位置,结束位置为-1时,表示为列表的最后一个位置
lrange listName 0 -1
// 命令
lpush mylist 1
lpush mylist 2
lpush mylist 3 4 5
# 1
rpop mylist
Set(无序集合、去重)
sadd name value
Redis的Set是string类型的无序集合。自动去重。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。