// 连接到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 类型

瑾明达
1 声望0 粉丝