beegofreecache beego 缓存基于 freecache beegofreecache

xuanbao • 2751 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
更重要的是memory使用的是同步锁来确保数据一致性,这必然后导致性能有所损耗。 如果有熟悉Java的同学应该知道Map。HashMap中未进行同步考虑,而Hashtable则使用了synchronized,带来的直接影响就是可选择,我们可以在单线程时使用HashMap提高效率,而多线程时用Hashtable来保证安全。 beego内置的memory实现就相当于Hashtable。 所以我们需要一个更好的memory的实现,经过测试决定使用freecache,大家可以去[freecache主页](https://github.com/coocood/freecache)查看详细信息。 freecache就相当于Java中的ConcurrentHashMap,性能也有很大的提高,官网上它的性能测试报告,在此不赘述了。 但是freecache也会有一些缺点: 当需要缓存的数据占用超过提前分配缓存的 1/1024 则不能缓存 当分配内存过多则会导致内存占用高 key的长度需要小于65535字节 value只能是[]byte类型,使用很不友好
授权协议:
GPL
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2751 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传