Redis之String类型和Hash类型的介绍和案例应用

本文介绍了Redis中的String类型和Hash类型的基础知识,包括指令API、常用操作和实际案例。String类型适用于简单的Key-Value缓存、秒杀场景下的库存管理。Hash类型适合存储类别下的多个物品信息,如购物车和群聊消息。同时,文章讨论了如何利用Redis的原子性解决秒杀业务中的超卖问题。
摘要由CSDN通过智能技术生成

一. String类型基础

1.类型介绍

  典型的Key-Value集合,如果要存实体,需要序列化成字符串,获取的时候需要反序列化一下。

2. 指令Api说明

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑

3.常用Api说明

(1).StringSet:写入数据,如果数据已经存在,则覆盖;可以一次性存入1个key-value,也可以一次性存入多个Key-value集合,并且可以设置其过期时间。

(2).StringGet:读取数据,可以一次性读取一个key的value,也可以一次性读取多个key对应的value的集合。

(3).StringAppend:在原有值的基础上进行拼接追加.

(4).StringLength:获取值的长度

(5).StringIncrement:数值自增n,返回自增后的值

(6).StringDecrement:数值自减n,返回自减后的值

4.通用Api操作

(1).Execute("FLUSHDB"):删除所有数据,类似SqlServer的truncate

(2).KeyDelete:根据key删除数据,可以删除单个key,也可以删除多个key

(3).KeyExists:判断key是否存在,也可以单个key或者多个key

(4).KeyRename:重命名key

(5).KeyExpire:设置对应key的的过期时间

常用string类型Api代码:

 1             //1. 最简单的key-value的添加,如果该key已存在,则执行的是附加操作
 2             //可以设置过期时间哦
 3             bool a1 = db.StringSet("101", "keen");
 4 
 5             //2. 根据key获取值
 6             string data1 = db.StringGet("101");
 7 
 8             //3. 在原有的value上进行追加
 9             //在原有值的基础上追加,返回值是最终字符串的长度,如果没有这个key,则当做一个新的key进行添加
10             long data2 = db.StringAppend("101", "Marren");
11 
12             //4. 获取值的长度
13             long data3 = db.StringLength("101");
14 
16             //5. 数值自增/减,返回自增、自减后的值
17             db.StringSet("102", 10);
18             //自增2,可以自增负值
19             var data4 = db.StringIncrement("102", 2);
20             //自减5
21             var data5 = db.StringDecrement("102", 5);
22 
24             //6. 插入实体和读取实体 (需要序列化和反序列化)
25             //由于序列化的原因,肯定不如存到Hash里速度快
26             UserInfor userInfor = new UserInfor()
27             {
28                 userName = "ypf",
29                 userPwd = "123456",
30                 userAge = 15
31             };
32             db.StringSet("userInfor_101", JsonConvert.SerializeObject(userInfor));
33             UserInfor data6 = JsonConvert.DeserializeObject<UserInfor>(db.StringGet("userInfor_101"));
34 
35             //7. 一次性添加多个key-value集合
36             Dictionary<string, string&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值