复述的数据类型以及每种数据类型的使用场景

  

人就是很奇怪的动物,很简单的问题往往大家都容易忽略,当我们在使用分布式缓存复述的时候,一个最简单的问题往往被人忽略,复述的数据类型以及每种数据类型的使用场景是什么?

  

是不是觉得这个问题很基础?我也这么觉得。然而根据调查经验发现,至少百分之八十的人答不上这个问题。

  

基本上,一个合格的程序员,五种类型都会用的到。

  

<强> 1.字符串

  

这个没啥好说的,最常规的设置/获取操作,价值可以是字符串也可以是数字。一般做一些复杂的计数功能的缓存。

  

2.散列/h2>   存价值

这里放的是结构化的对象,比较方便的就是操作其中的某个字段。

  

我在做单点登录的时候,就是用这种数据结构存储用户信息,以CookieId作为关键,设置30分钟为缓存过期时间,能很好的模拟出类似会话的效果。

  3.

列表   

使用列表的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于复述的分页功能,性能极佳,用户体验好。

  

4.

  

因为集堆放的是一堆不重复值的集合。所以可以做全局去重的功能,为什么不用JVM自带的设置进行去重吗?

  

因为我们的系统一般都是集群部署,使用JVM自带的设置,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。

  

另外,就是利用交集,并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。

  

5。排序设置

  

排序设置多了一个权重参数分数,集合中的元素能够按分数进行排列。

  

可以做排行榜应用,取前N操作.Sorted设置可以用来做延时任务。最后一个应用就是可以做范围查找。

  

如果你对复述这一块有什么深入的研究,欢迎来华为云官方论坛发的帖,一起探讨一下,也可以到华为云帮助中心,看看我们详细的使用操作说明书吧

复述的数据类型以及每种数据类型的使用场景