redis-cli -h host -p port -a password # 中文乱码 --raw基础数据类型 string
- String
# 创建key > set name zhangsan OK # 获取key > get name "zhangsan" # 同时设置多项和获取多项 > set name zhangsan > set age 18 > mset city wuhan country China > mget name age city country 1) "zhangsan" 2) "18" 3) "wuhan" 4) "China" # 删除key > del name (integer) 1 > get name (nil) # 检查是否存在 > exists name (integer) 1 > exists age (integer) 0
- 数字类型的String
> set n 11 OK > get n "11" # 依次加一 > incr n (integer) 12 # 依次减一 > decr n (integer) 11 # 加特定值 > incrby n 10 (integer) 14 # 减特定值 > decrby n 10 (integer) 4set
string类型的无序集合, 底层是 HashTable 数据结构,
字符串元素是无序的,且不能重复
# 添加 > sadd friends zhangsan (integer) 1 > sadd friends lisi (integer) 1 # 查看 > smembers friends 1) "lisi" 2) "zhangsan" # 移除指定值 > srem friends lisi # 随机删除 > spop friends "zhangsan" # 判断元素是否存在 > sismember friends zhangsan (integer) 1zset
# 添加 > zadd country 1 China (integer) 1 > zadd country 1 UK (integer) 1 # 查看 > zrange country 0 -1 1) "China" 2) "UK" > zrange country 0 -1 withscores 1) "China" 2) "1" 3) "UK" 4) "1" # 移除指定值 > zrem country UK (integer) 1List
# 从左边依次插入 > lpush rlist zhangsan lisi (integer) 2 > lpush rlist wangwu (integer) 3 # 从右边依次插入 > rpush rlist chenliu (integer) 4 # 查看 > lrange rlist 0 -1 1) "wangwu" 2) "lisi" 3) "zhangsan" 4) "chenliu" # 从左边依次删除 > lpop rlist "wangwu" # 从左边依次删除 > rpop rlist "chenliu" > lrange rlist 0 -1 1) "lisi" 2) "zhangsan" # 查看索引为1的key值 > lindex rlist 1 "zhangsan" # 修改索引为1的key值 > lset rlist 1 lili OK > lrange rlist 0 -1 1) "lisi" 2) "lili"Hash
类似于Java中的Map,是一个 String 类型的 field 和 value 的映射表(键值对集合),并且特别适合用来存储对象
# hset > hmset user name zhangsan age 18 sex male OK # hget > hget user name "zhangsan" # hmget > hmget user name 1) "zhangsan" # 查看所有值 hkeys user 1) "name" 2) "age" 3) "sex" 4) "height" # 修改 > hset user height 145 (integer) 0 > hmget user height 1) "145"
- 过期时间
- expire: 设置过期时间
- ttl: 获取过期时间,返回-1表示没有设置,-2表示数据不存在
> set name zhangsan OK > expire name 20 (integer) 1 > ttl name (integer) 4 > ttl name (integer) -2



