ZKX's LAB

Redis进阶篇之防止数据重复 redis 集合不重复数据

2021-04-09知识5

redis 是什么 Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的高性能键值(key-value)对存储数据库。

如何在Redis通过StackExchange.Redis 存储集合类型List 解决方案如果你仅仅为了缓存存一批量的 List数据,那么自己封装一个ListGet()和 ListSet()方法吧。我对比过使用 List 和 String 两种类型存储。Redis 的List类型和.NET领域还有所不同,实际上,它是一个双向队列,可以左右插入值。所以如果是批量数据插入 那么必须一个个插入,代码比较简单如下:封装的ListSetpublic void ListSet(string key,List<;T>;value){下面的database 是redis的数据库对象.foreach(var single in value){var s=ConvertJson(single);序列化database.ListRightPush(key,s);要一个个的插入}}封装的ListGetpublic void ListGet(string key){ListRange返回的是一组字符串对象需要逐个反序列化成实体var vList=database.ListRange(key);List<;T>;result=new List();foreach(var item in vList){var model=ConvertObj(item);反序列化result.Add(model);}return result;}当然测试了一下性能,取20W条数据平均时间

Redis进阶篇之防止数据重复,问题:在实际应用中,如果使用Lit会出现重复,如何处理这个问题呢?使用ortedet。

#redis有序集合#redis有序集合高级用法#redis集合查询方法#redis 集合不重复数据#redis集合

随机阅读

qrcode
访问手机版