Login
网站首页 > 文章中心 > 其它

c#操作Redis的5种基本类型汇总_转载)_cosplay服

作者:小编 更新时间:2023-09-19 19:53:52 浏览量:461人看过

前言

在我们的项目中,通常会把数据存储到关系型数据库中,比如Oracle,SQL Server,Mysql等,但是关系型数据库对于并发的支持并不是很强大,这样就会造成系统的性能不佳,而且存储的数据多为结构化数据,对于非结构数据(比如文本)和半结构化数据(比如JSon) 就显得不够灵活,而非关系型数据库则很好的弥补了这两点, 我们通常把读操作频繁的数据写入Redis中,以Key-value的方式存储来提高性能.

c#操作Redis的5种基本类型汇总_转载)_cosplay服-图1

第一段:String数据类型的应用场景

① 简介

string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value.

string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如jpg图片或者序列化的对象.

现在需要保存一个Webservice接口的参数,让其实现可配置,比如地址、用户名、密码、同步时间等信息,我们可以将它在前端页面格式化为JSon字符串,

然后通过Ajax传递到服务端保存到Redis中,代码如下:

保存成功后,我们在redis可视化工具中可以看到我们保存的信息为:

c#操作Redis的5种基本类型汇总_转载)_cosplay服

如果下次加载数据的时候,我们可以根据Key来读取这个string字符串,然后格式化为Hashtable,再序列化为JOSN格式返回到前端,就可以以表单的形式展示,

在表单中可以修改保存等操作,实现了参数的可配置,这读取代码如下:

第二段:hash(哈希)

①简介

value)对集合.

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象.

我们需要灵活的保存一些信息,特别适合保存对象的信息,比如用户信息、配置信息等

由于我们上面使用string类型的对象保存配置信息存在这样的问题,就是涉及到序列化和反序列化,如果信息量大的话将降低系统性能,

那么此处我们可以使用Hash数据结构来保存上面的信息,代码如下:

使用redis可视化工具我们可以刚才存储的数据如下:

c#操作Redis的5种基本类型汇总_转载)_cosplay服

第三段:List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边),可以使用list的push操作将任务存到List,

然后使用pop操作将任务取出执行,在列表头部或者末尾操作数据非常高效,不受队列长度的影响.

redis 的 list 数据类型对于大部分使用者来说,是实现队列服务的最经济,最简单的方式.

另外,因为 list 结构的数据查询两端附近的数据性能非常好,所以适合一些需要获取最新数据的场景,比如新闻类应用的 "最近新闻",获取钱N个用户列表等.

对于栈的使用,比如二叉树的遍历,括号的匹配等,我们可以进行先进后出的顺序完成,代码如下:

运行结果显示,队列是先进先出操作,栈是先进后出操作,并且操作完成后,数据被删除,如图所示:

c#操作Redis的5种基本类型汇总_转载)_cosplay服

四.Set(集合)

Redis 的 Set 是 string 类型的无序集合.

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1).

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员.

集合主要应用在一些需要求交集、并集、补集这样的场景,比如我们需要求共同好友、共同兴趣爱好、共同关注的微博,限制同一个账号多处登录系统等场景.

运行结果显示他们的共同好友为: 好友C和好友D

c#操作Redis的5种基本类型汇总_转载)_cosplay服

第五段:zset(sorted set:有序集合)

在 set 的基础上给集合中每个元素关联了一个分数,往有序集合中插入数据时会自动根据这个分数排序.不同的是每个元素都会关联一个double类型的分数.

redis正是通过分数来为集合中的成员进行从小到大的排序.

zset的成员是唯一的,但分数(score)却可以重复.

在集合类型的场景上加入排序就是有序集合的应用场景了.比如根据好友的"亲密度"排序显示好友列表.

比如现在有很多主播,每个主播都有粉丝给的礼物,现在需要我们给出礼物数量最多的前三名主播,那么可以使用SortedSet来实现,

可以分别给每个主播定义个分数来存储礼物数量,代码如下:

运行之后,我们可以看到礼物数前三名的主播了,运行结果如下:

c#操作Redis的5种基本类型汇总_转载)_cosplay服

总结

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章