redis缓存服务器
缓存内存
redis缓存服务器
redis是一个高性能的key-value存储系统,能够作为缓存框架和队列
但是由于他是一个内存内存系统,这些数据还是要存储到数据库中的
作为缓存框架:
create/updae/delete---同时存到redis和数据库
query--先从redis查,没有记录才从数据库查,并把从数据库查的结果也放一份到redis
作为缓存队列:
2、把对象Object存储到redis中,怎么存?memcache存取对象是序列化和反序列化
使用通用的序列化、反序列化(频繁的会很消耗cpu,使用GoogleProtocolBuffer,将对象打成二
进制流)
或者使用json存储(阿里巴巴的fast-json)
3、java使用redis的客户端一般是:jedis
jedis的原生接口只支持基本数据类型和String、byte
和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一开始用的是memcached,后来用redis替代。
相比memcached:
1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。
2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。
3、redis支持virtualmemory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。
4、redis原生支持的数据类型更多,使用的想象空间更大。
5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis3.0将推出cluster,功能更加强大。
3个场景完全不同的东西。1.memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存;2.redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化;3.mongodb是bson结构、介于rdb和nosql之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。
Tags:缓存内存,redis缓存服务器
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。