Redis采用字典结构以键值对(key-value)的形式存储数据的
散列类型的键值(value)也是字典类型 字段和字段值的映射 但字段值只能是字符串 不能是别的数据类型(散列类型不能嵌套)
一个散列类型的的键(key)可以包含至多2的32次方-1个字段
散列类型适合存储对象:使用对象类别和ID构成键名 字段表示对象的属性 字段值表示对象的属性值
命令:
hset key field value 字段赋值
hget key field 获取字段的值
hmset key field value [field value ...] 多个字段赋值
hmget key field [field ...] 获取多个字段的值
hset不区分插入还是更新 插入 hset返回1 更新hset返回0 不存在 自动创建
hgetall key:获取键中的说有字段的字段值
hexists key field:判断字段是否存在 存在返回1 不存在返回0 键不存在也返回0
hsetnx key field value:字段不存在才赋值 (原子操作 不用担心竞态条件)nx:if Not eXists
hincrby key field increment :给字段值增加指定的整数 如果key不存在 自动给field赋值为0 然后再增加
返回时field增加后的值
hdel key field [field ...] 删除一个或多个字段 返回被删除的字段个数
hkeys key 获取字段名
hvals key 获取字段值
hlen key 获取字段数量
列表类型(list): 存储一个有序的字符串列表 常用操作向列表两端添加元素或获得列表的某一个字段
lpush key value [value ...] 向列表左边增加元素 返回增加后列表的长度
rpush key value [value ...] 右边
lpop key 列表左边弹出一个元素(将列表左边的元素从列表中删除 返回被移除的元素值)
rpop key 右边
llen key 获取列表中元素的个数
lrange key start stop 获取列表的片段 (包含stop的值)
1.start比stop的位置靠后 返回空列表
2. stop大于列表的长度 返回到最右边的值
lrem key count value
集合类型:
有序集合