二:散列类型(hash)
| 函数 | 语法 |
|---|---|
| 设置单个:HSET | HSET key field value,不存在时返回1,存在时返回0,没有更新和插入之分 |
| 设置多个:HMSET | HMSET key field value [field value ...] |
| 读取单个:HGET | HGET key field,不存在是返回nil |
| 读取多个:HMGET | HMGET key field [field ...] |
| 读取全部:HGETALL | HGETALL key,返回时字段和字段值的列表 |
| 判断字段是否存在:HEXISTS | HEXISTS key field,存在返回1 ,不存在返回0 |
| 字段不存在时赋值:HSETNX | HSETNX key field value,与hset命令不同,hsetnx是键不存在时设置值 |
| 增加数字:HINCRBY | HINCRBY key field increment ,返回增加后的数,不是整数时会提示错误 |
| 删除字段:HDEL | HDEL key field [field ...] ,返回被删除字段的个数 |
| 只获取字段名:HKEYS | HKEYS key ,返回键的所有字段名 |
| 只获取字段值:HVALS | HVALS key ,返回键的所有字段值 |
| 字段数量:HLEN | HLEN key ,返回字段总数 |
三:列表类型(list)
内部使用双向链表实现,所以获取越接近两端的元素速度越快,但通过索引访问时会比较慢
| 函数 | 语法 |
|---|---|
| 添加左边元素:LPUSH | LPUSH key value [value ...] ,返回添加后的列表元素的总个数 |
| 添加右边元素:RPUSH | RPUSH key value [value ...] ,返回添加后的列表元素的总个数 |
| 移除左边第一个元素:LPOP | LPOP key ,返回被移除的元素值 |
| 移除右边第一个元素:RPOP | RPOP key ,返回被移除的元素值 |
| 列表元素个数:LLEN | LLEN key, 不存在时返回0,redis是直接读取现成的值,并不是统计个数 |
| 获取列表片段:LRANGE |
LRANGE key start stop,如果start比stop靠后时返回空列表,0 -1 返回整个列表正数时:start 开始索引值,stop结束索引值(索引从0开始)负数时:例如 lrange num -2 -1,-2表示最右边第二个,-1表示最右边第一个, |
| 删除指定值:LREM |
LREM key count value,返回被删除的个数 count>0,从左边开始删除前count个值为value的元素 count<0,从右边开始删除前|count|个值为value的元素 count=0,删除所有值为value的元素 |
| 索引元素值:LINDEX | LINDEX key index ,返回索引的元素值,-1表示从最右边的第一位 |
| 设置元素值:LSET | LSET key index value |
| 保留列表片段:LTRIM | LTRIM key start stop,start、top 参考lrange命令 |
| 一个列表转移另一个列表:RPOPLPUSH |
RPOPLPUSH source desctination ,从source列表转移到desctination列表,该命令分两步看,首先source列表RPOP右移除,再desctination列表LPUSH |










