// 连接到redis,如果端口号为默认值6379则无需写,没有密码不需写。
redis-cli -p 端口号 -a 密码
// 查看所有key,不建议在生产环境中使用
keys *
// 删除一个key
del key
// 查看key是否存在
exists key
// 给key设置有效期 返回一个生效结果
expire key 数字超时时间(秒)
expire address 20
// 查看key的有效期还剩多长时间 返回剩余时间
TTL key
// 添加或修改已经存在的string类型的键值对
set key value
set address beijing
// 根据key获取string类型的value
get key
get address
// 批量添加或修改数据
mset k1 v1 k2 v2 ...
// mget:根据多个key获取多个string类型的value
mget k1 k2 k3 ...
// 让整型的key自增1——返回值是自增后的值
incr key
// 自增并指定步长。例如:incrby num 2 让num自增2
incrby num 2
// 新增一个string类型的键值对,与set不同在于库中若存在key则不能添加
setnx address beijing
setnx address shanghai // 存在则不修改
// 添加一个string类型的键值对,并且指定有效期。是set和expire的组合命令
setex name 10
// Redis-key的层级格式
// redis的key允许有多个单词形成层级结构,多个单词之间用“:”隔开
// 项目名:业务名:类型:id
// 例如项目名rent,有user和house两种不同类型的数据,可以这样定义key
// user相关的key:rent:user:1
// house:rent:house:1
// 如果value是一个java对象,例如user对象,则可以将对象序列化为一个json字符串后存储
// 弊端:当想对对象中的单独的某个字段修改时很不方便-使用hash类型解决
// 添加或修改hash类型key的filed的值
hset
rent:user:1 name xiaoming
rent:user:1 age 18
// 获取一个hash类型的key的field的值
hget rent:user:1 age
// 批量添加多个hash类型key的field的值
hmset rent:user:4 name xiaoming age 20 sex man
// 批量获取多个hash类型key的field的值
hmget rent:user:4 name age sex
// 获取一个hash类型的key的所有field和value
hgetall rent:user:4
// hkeys:获取一个hash类型的key的所有field
// hvals:获取一个hash类型中key中的所有value
// hincrby:自增加步长
// hsetnx:新增hash类型的key的field值(存在则不修改)
// redis list 类型
// redis set 类型
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。