Redis数据存储的基本操作

回顾

在上一节中,我们主要讲解了Redis数据库的安装和基本使用:

Redis非关系型数据的安装与简单使用_我想月薪过万的博客-CSDN博客https://blog.csdn.net/qq_41885673/article/details/121159790?spm=1001.2014.3001.5502这一节中,我们主要来聊一下Redis中对 String 的具体操作

预备知识

Redis的五大数据类型是:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和 zset(sorted set:有序集合)

String(字符串)

  • 存放一个地址信息
127.0.0.1:6379> set address "ᄆᄒ" //这里的乱码代表 中文 北京
OK
  •  获取一个键值
127.0.0.1:6379> get address
"\xb1\xbe"
  • 删除一个键值
127.0.0.1:6379> del address
(integer) 1
127.0.0.1:6379> get address
(nil)

注意:set 一个键值的时候,如果存在就相当于修改,不存在就是添加。

  • 设置键秒值 
setex key second value
127.0.0.1:6379> setex name 10 yiqi
OK
127.0.0.1:6379> get name
"yiqi"
127.0.0.1:6379> get name
"yiqi"
127.0.0.1:6379> get name
(nil)
  • 同时设置/获取一个或多个 key-value 对
127.0.0.1:6379> mset key1 yiqi key2 seemi
OK
127.0.0.1:6379> mget key1 key2
1) "yiqi"
2) "seemi"

Hash(哈希)

测试案例

存放一个 user1 包含 name “smith”  、 age 30  、 job “golang coder”

127.0.0.1:6379> hset user1 name "smith"
(integer) 1
127.0.0.1:6379> hset user1 age 30
(integer) 1
127.0.0.1:6379> hset user1 job "golang coder"
(integer) 1

获取 user1

127.0.0.1:6379> hget user1 name
"smith"
127.0.0.1:6379> hget user1 age
"30"
127.0.0.1:6379> hget user1 job
"golang coder"

同时获取 user1

127.0.0.1:6379> hgetall user1
1) "name"
2) "smith"
3) "age"
4) "30"
5) "job"
6) "golang coder"

同时设置 / 获取 user2

127.0.0.1:6379> hmset user2 name jerry age 110 job "java coder"
OK
127.0.0.1:6379> hmget user2 name age job
1) "jerry"
2) "110"
3) "java coder"

统计一个hash有几个元素

127.0.0.1:6379> HLEN user1
(integer) 3

查看哈希表key中,给定字段是否存在

127.0.0.1:6379> HEXISTS user1 name
(integer) 1
127.0.0.1:6379> HEXISTS user1 name2
(integer) 0

List(列表)

存一个 city 包含三个城市(从左边插入)

127.0.0.1:6379> lpush city beijing shanghai tianjing
(integer) 3

存一个 heroList (从右边插入)

127.0.0.1:6379> rpush heroList aaa bbb ccc
(integer) 3

取值,但不改变原List

127.0.0.1:6379> lrange city 0 -1  ## -1 表示倒数第一个
1) "tianjing"
2) "shanghai"
3) "beijing"

取值,并弹出取走的值(从左边弹出)

127.0.0.1:6379> LPOP heroList
"aaa"
127.0.0.1:6379> LRANGE heroList 0 -1
1) "bbb"
2) "ccc"

取值,并弹出取走的值(从右边弹出)

127.0.0.1:6379> RPOP heroList
"ccc"
127.0.0.1:6379> LRANGE heroList 0 -1
1) "bbb"

删除 List

127.0.0.1:6379> DEL heroList
(integer) 1
127.0.0.1:6379> LRANGE heroList 0 -1
(empty list or set)

lindex ,按照索引下标获取元素

127.0.0.1:6379> LPUSH hero aaa bbb ccc
(integer) 3
127.0.0.1:6379> LINDEX hero 0
"ccc"

llen , 返回列表的长度

127.0.0.1:6379> LLEN hero
(integer) 3

Set(集合)

 sadd

127.0.0.1:6379> sadd email yy@qq.com bb@qq.com
(integer) 2

 smembers

127.0.0.1:6379> SMEMBERS email
1) "yy@qq.com"
2) "bb@qq.com"

sismember

127.0.0.1:6379> SISMEMBER email hh@qq.com
(integer) 1
127.0.0.1:6379> SISMEMBER email uu@qq.com
(integer) 0

srem 

127.0.0.1:6379> srem email hh@qq.com
(integer) 1
127.0.0.1:6379> srem email hh@qq.com
(integer) 0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super码王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值