数据缓存中的二级缓存用法
来源:互联网 发布:游戏里被广为人知的梗 编辑:程序博客网 时间:2024/06/06 00:32
数据缓存中的二级缓存用法
引子:
在分布式系统中估计大多数人是用redis或memcached作缓存,好处就不多说了,虽然这两种缓存的存取速度,性能都不错,但相比于本地的内存缓存还是有差距的。这也是为什么要用二级缓存的原因。
一个.net代码例子
/// <summary>/// 获取用户的群id;二级缓存/// </summary>/// <param name="userId">用户id</param>/// <returns></returns>public static int GetGroupId2LevelCache(int userId){try{//.net local cachevar groupId = CacheApi.Group.GetGroupIdLocalCache(userId);if (groupId < 1){//redis cachegroupId = CacheApi.Group.GetGroupIdCache(userId);if (groupId < 1){//get groupid 略//redis cacheCacheApi.Group.SetMeditationGroupIdCache(userId, groupId);}CacheApi.Group.SetMeditationGroupIdLocalCache(userId, groupId);}return groupId;}catch (Exception e){Log.Error(e.Message + e.StackTrace);}return 0;}
适合用的场景
由于是先用本地缓存取数据,没取到再到分布式缓存中取,再从db取,当该数据在缓存周期内有不会变化的(或者说这种变化会不影响你读取的数据)而且这数据的读取频率很大则适合用。
不适合用的场景
由于是先用本地缓存取数据,没取到再到分布式缓存中取,再从db取,当该数据在缓存周期内有可能变化的(或者说这种变化会影响你读取的数据)则不大适合用这种二级缓存,因为如果要从业务上维护这种数据同步,会使代码变得复杂。
建议:
这种用法能解决一部分实际应用中的问题,如果有其它更好的方法希望也能贴出来,不胜感激!
阅读全文
0 0
- 数据缓存中的二级缓存用法
- hibernate 中的一级缓存 二级缓存
- Hibernate 中的一级缓存和二级缓存
- hibernate中的一级缓存和二级缓存
- hibernate中的一级缓存和二级缓存
- hibernate中的一级缓存和二级缓存
- Hibernate中的一级缓存和二级缓存
- MyBatis中的一级缓存和二级缓存介绍
- mybaits中的一级缓存和二级缓存使用
- Hibernate二级缓存的数据缓存到磁盘上
- Hibernate中的一级缓存、二级缓存和懒加载
- Hibernate中的一级缓存、二级缓存和懒加载
- Hibernate中的一级缓存、二级缓存和懒加载
- asp中的数据缓存
- TP中的数据缓存
- fragment中的数据缓存
- jQuery中的数据缓存
- Hibernate一级缓存 & 二级缓存
- 分苹果
- JAVA中判断Array、List、Map、Set是否空的方法
- VMware虚拟磁盘 Virtual Disk Format 1.1 虚拟磁盘格式1.1 说明书
- 如何根据地址确定中央经线和带号
- dispatch_after-延迟执行的操作使用方法
- 数据缓存中的二级缓存用法
- mysql5.7.17.tar.gz安装
- Android ContentProvider的启动过程
- python_numpy.min()
- ANSI UNICODE UTF8 专辑
- 你真的了解For循环吗?一道For循环Java面试题引发的思考
- 【PE】VS编译选项MD,MDd,MT,MTd的使用和区别
- Lua的系统学习(杂)_语法使用的简单示例
- 注解原理