欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis基础、应用、第三方支持组件总结

程序员文章站 2022-03-10 23:07:26
这段时间一直在研究学习Redis的相关知识,现在大概做下总结吧首先,Redis的基础方面,不说配置,就单单说下Redis数据类型:Redis 五大数据类型有String 类型,Hash 类型,List 类型,Set 类型,Zset(Sortedset)类型。其中常用的是前三个。String 是 re ......

这段时间一直在研究学习Redis的相关知识,现在大概做下总结吧
首先,Redis的基础方面,不说配置,就单单说下Redis数据类型:
Redis 五大数据类型有String 类型,Hash 类型,List 类型,Set 类型,Zset(Sortedset)类型。其中常用的是前三个。
String 是 redis 最基本的类型,一个key对应一个value。

hash 是一个键值对集合,和C# 的Dictionary 类似。
Redis hash 是一个String 类型的 field 和 value 的映射表

List 类型
Redis列表是采用来链表来存储的简单字符串列表,按照插入顺序排序。添加元素一般从链表两端开始。一般消息队列的应用可以直接使用Redis的List数据类型来做处理。获取最新的10个用户的信息,在list链表中只保留最新的10个数据,每次进来一个新数据就删除一条旧数据,从而实现节约数据资源,减少服务器压力。

Set 类型
Redis 的 Set 是String类型的无序集合。它是通过HashTable实现实现的,用法和 List类型很相似。因为我们可以根据集合类型来做一些处理比如交并补集,具体应用场景:QQ好友的推荐

Zset 类型
Redis的zset(sortedset)和set一样也是string类型元素的集合,且不允许有重复的成员。由于是已序集合,可以应用到热门帖子的场景,排序好之后,返回最新的最热的前10个帖子。

对redis的数据类型有足够的了解,可以应用到开发的很多场景,比如消息队列,优先队列,秒杀,最新博客的显示等等。

.NET对Redis的支持还是很好的。一般我们用Redis来存储Session数据,微软给我们提供了一个第三方组件:RedisSessionStateProvider。微软官方还给我们提供了一个基于redis的内存输出缓存的组件:RedisOutputCacheProvider。所以的第三方redis组件一般都是基于Redis客户端实现的,一般是StackExchange.Redis或是其余的客户端。网上有很多人封装好了基于各个客户端的类,我们可以自己去了解。

我一开始是使用RedisSessionStateProvider来存储Session的,其实也还是可以的。不过,后来改变了一种方式,我直接调用封装好的StackExchange.Redis类来做Session处理。

源码地址:
链接:https://pan.baidu.com/s/1uog3tYkX4wN4pYjryjA8NA 密码:jeqi

参考资料:

https://github.com/Azure/aspnet-redis-providers/tree/master/src