.Net下Redis使用注意事项

.NetRedis使用注意事项

注:Redis的安装方法和桌面端工具很多,不在本文讨论范围内。

一:不结合适用场景的技术都是耍流氓,Redis主要适用场景:

简单字符串缓存

简单队列

简单发布订阅

简单计数器

排行榜

简单字符串悲观锁

简单事务的乐观锁

精准计算过期时间

Uniq 操作,排重

 注:由于类似的讲解太多了,这里只列出场景标题,具体小伙伴可以查询,使用前切记场景合适,对症下药,否则可能事倍功半。

二:Redis 目前在公司主要用于以下几点:

1:用户信息缓存(简单字符串缓存)

2:部分操作加锁(简单字符串悲观锁)

4:一些固定信息的缓存(简单字符串缓存)

5:红包雨的部分操作(简单计数器)

6:标的抢购(简单计数器)

三:所以以下的结论都是基于以上的业务场景:

     Redis的插件很多ServiceStack.Redis和StackExchange.Redis 等,刚开始太年轻  使用了 ServiceStack.Redis, 新版收费,免费版限制并发10000 左右,后期改为StackExchange.Redis,内部基于StackExchange.Redis封装了方法,地址:https://github.com/Aresyl/LY.Redis.git  感兴趣的可以看下。

1:如果使用“简单字符串缓存”方法对象序列化不要用Newtonjson和Json.Net 建议使用ProtoBuf 或者StackExchange.Redis自带方法。

2:使用redis队列 Value大小可以达到1GB,但是为了排序等性能最好不要超过1MB,有序队列记得删掉末尾数据(看过一次,具体是1MB 还是3MB 记不清了,也没找到,不过有序队列记得删末尾就对了)。

3:高频小字段进行缓存,保证50%的命中率才值得(读写比1:1 还用Redis干啥,直接数据库就好了)。

4:任何数据缓存一定要有过期时间(过期后再从数据库中获取重新赋值),监控缓存内存使用情况。

5:简单字符串缓存、简单计数器、精准计算过期时间、数据保存等操作记得同步数据库,别真把Redis 当成数据库用。

6:Redis 服务器内存要足够大。

原文地址:https://www.cnblogs.com/aresyl/p/5206098.html