2 -「季淳卿」 Redis 字符串+哈希

1 -「季淳卿」 Redis基本介绍和String练习
开始下回分解

String(字符串)

在这里插入图片描述
代码如下:

#-- 1 strlen key 查看字符串的长度
127.0.0.1:6379> set name aabbcc
OK
127.0.0.1:6379> strlen name
(integer) 6

#-- 2 append key value 在字符串后面追加
127.0.0.1:6379> append name dd
(integer) 8
127.0.0.1:6379> get name
"aabbccdd"

#-- 3 psetex key milliseconds value 毫秒为单位设置 key 的过期时间
127.0.0.1:6379> psetex age 20000 jack
OK
127.0.0.1:6379> ttl age
(integer) 16
127.0.0.1:6379> get age
"jack"
127.0.0.1:6379> ttl age
(integer) 3
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379>

#-- 4 getrange 获取 key 中字符串值的子字符(获取指定长度的字符)
127.0.0.1:6379> set day aabbcc
OK
127.0.0.1:6379> getrange day 2 5
"bbcc"
127.0.0.1:6379>

#-- 5 getrange name 0 -1 查看所有字符串
127.0.0.1:6379> getrange day 0 -1
"aabbcc"

#-- 6 setrange key offset value 用 value 参数覆写给定 key 所储存
#--   的字符串值,从偏移量 offset 开始。(替换指定位置的值)
127.0.0.1:6379> get day
"aabbcc"
127.0.0.1:6379> setrange age 2 jack
(integer) 6
127.0.0.1:6379> get age
"aajack"
127.0.0.1:6379>

缓存击穿和缓存穿透的区别有哪些

缓存击穿

  • 是指缓存中没有但是数据库中有的数据
  • 由于并发用户特别多,缓存中没有读到数据
  • 同时在数据库取数据引起数据库压力瞬间增大,造成缓存击穿

缓存穿透

  • 是指缓存和数据库中都没有的数据(一般是缓存时间到期)
  • 而用户不断发起请求,造成缓存穿透(如发起的数据特别大而不存在的数据)

Hash(哈希)

  • hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 适合用于存储对象。
  • 在Redis中一个Hash就类型的键,就相当于定义了一个Hashmap 键里面
  • 可以保存键值对的数据 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)
  • 上次有提到字符串最大是可以存储512字节

命名如下
在这里插入图片描述

## -1 hset key field value
127.0.0.1:6379> hset hh aa 11
(integer) 1
127.0.0.1:6379> hset hh bb 22
(integer) 1
127.0.0.1:6379> hset hh cc 33
(integer) 1

## -2 gset key field value 
127.0.0.1:6379> hget hh aa
"11"

## -3 hgetall key
127.0.0.1:6379> hgetall hh
1) "aa"
2) "11"
3) "bb"
4) "22"
5) "cc"
6) "33"

## -4 hmset key field1 value1 [field2 value2 ]
127.0.0.1:6379> hmset hh dd 44 ee 55 ff 66
OK

## -5 hmget key field1 [field2]
127.0.0.1:6379> hmget hh dd ee ff
1) "44"
2) "55"
3) "66"

## -6 hkeys key
127.0.0.1:6379> hkeys hh
1) "aa"
2) "bb"
3) "cc"
4) "dd"
5) "ee"
6) "ff"

## -7 hvals key
127.0.0.1:6379> hvals hh
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"

## -8 hdel key field1 [field2]
127.0.0.1:6379> hdel hh aa bb cc
(integer) 3
127.0.0.1:6379> hgetall hh
1) "dd"
2) "44"
3) "ee"
4) "55"
5) "ff"
6) "66"
127.0.0.1:6379>

## -9 hlen key
127.0.0.1:6379> hlen hh
(integer) 3

## -10 hsetnx key field value
127.0.0.1:6379> hsetnx hh gg 77
(integer) 1
127.0.0.1:6379> hsetnx hh gg 77
(integer) 0

## -key expire key seconds
127.0.0.1:6379> expire hh 20
(integer) 1
127.0.0.1:6379> ttl hh
(integer) 16
127.0.0.1:6379> hget hh aa
(nil)

今天学习结束啦✿✿ヽ(°▽°)ノ✿
有什么问题欢迎大家提出来,一起进步

世界灿烂盛大,欢迎回家 —— 《全球高考》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

季淳卿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值