redis -- 数据类型及操作

远程连接

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) 4

set

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) 1

zset

# 添加
> 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) 1

List

# 从左边依次插入
> 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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值