Redis常用命令
String 类型
命令 | 例子 | 解释 |
---|---|---|
set key value | set key1 v1 | 设置键的值 eg:设置key1的值位v1 |
get key | get key1 | 获取键的值 eg:获取key的值 |
EXISTS key | EXISTS key1 | 判断值是否存在 eg:判断key1的值是否存在 |
APPEND key value | APPEND key1 ”hello“ | 往键中追加值,如果键值为空相当于set eg:在key1后面追加hello字符串 |
key* | key* | 查看全部键 |
STRLEN key | STRLEN key1 | 获取键值的长度 eg:获取key1值的长度 |
incr key | incr key1 | 给对应键的值加一 相当于i++ eg:给key1的值加一 |
decr key | decr key1 | 给对应键的值减一 相当于i-- eg:给key1的值减一 |
INCRBY key step | INCRBY key1 10 | 给对应键的值加上对应值 相当于+= eg:将key1的值减去10 |
DECRBY key step | DECRBY key1 10 | 给对应键的值减去对应值 相当于-= eg:将key1的值减去10 |
flushdb | flushdb | 清空键 相当于清空数据库 |
GETRANGE key start end | GETRANGE key1 0 2 | 获取键中的开始start索引到结束end索引中的值 eg:获取key1键中索引为0开始2结束的值 |
GETRANGE key1 0 -1 | 获取全部的字符串 | |
SETRANGE key offset value | SETRANGE key1 0 v2 | 替换键中从开始索引的值 eg:替换key1从索引为0开始值替换成v2 |
setex key seconds value | setex key1 30 v2 | 设置某个键的值过期后的值 eg:设置key1的值30秒后过期值为v2 |
ttl key | ttl key1 | 查看某个键的过期时间-2表示已过期 eg:查看key1的过期时间 |
setnx key value | setnx key1 v1 | 如果某个键的值不存在设置 eg:如果key1不存在 将key1的值设置为v1 |
mset key value key1 value1… | mset key1 v1 key2 v2 … | 批量设置值 eg:设置 key1的值为v1 key2的值为v2 |
mget key key2 … | mest key1 key2 … | 批量查看键的值 eg:查看key1的值 查看key2 的值 |
对象
设置一个user:1对象值为json字符串来保存对象
理解:
set user:1{name:zhangsan,age:10}
实际上:
mset user:1:name zhangsan user:1:age 10
查看对象:
mget user:1:name user:1:age
key的巧妙设计
user:{id}:{filesd}
组合命令:先获取值后设置值(如果值存在,先返回存在的值,后修改存在的值 如果值不存在 先返回空后设置值)
getset key1 v2
String类似的使用场景:
value除了是字符串也可以是数值
- 计数器(博客浏览文章浏览量)
- 统计多单位数量(uid:12345:follow incer)
- 粉丝数据统计
- 对象信息存储