Redis(五) 缓存使用、与Memcached的差异
一、缓存的使用
同集成spring进行存取操作一致,只是加入key的失效时间而已。
1.创建一个cachedManager 封装存取方法
@Repository
public class CachedManager extends BaseDao{
public boolean setCached(String key,Object value,Long expire){
try{
super.redisTemplate.opsForValue().set(key, value, expire, TimeUnit.MINUTES);
return true;
}catch(Exception e){
logger.info("添加缓存失败:{}",e.getMessage());
return false;
}
}
public Object getCached(String key){
try{
return super.redisTemplate.opsForValue().get(key);
}catch(Exception e){
logger.info("获取缓存失败:{}",e.getMessage());
return false;
}
}
添加缓存的时候多了两个参数一个是缓存时间,一个是单位(纳秒到天可选,源码可看)
2.测试 缓存一分钟的一个key
cached.setCached("cached_test", "你好----", Long.valueOf(1));
for (int i = 0; i < 15; i++){
logger.info("获取缓存数据:{},当前时间:{}", cached.getCached("cached_test"),
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date()));
Thread.currentThread().sleep(5000);
}
结果可见,一分钟之后失效。详见cc-redis-tow package:cached和test类
二、与Memcached比较
1.基本参数
memcached 默认端口11211 缓存默认失效时间 30天(有种说法是永久、但在30天后可存不可取) 一个key中存储的value值最大为1M,超过1M可拆分成多个key进行操作
Redis 默认端口6379 缓存默认失效时间不过期(如果取消了默认的持久化方式、数据不被持久化到磁盘上,当内存超出后,redis会使用lru机制把最近最少用的key清除,且写入新数据) 一个key中存储的value值最大为 1g的字节数据
2.存储类型
memcached 类似于一个巨大的hashTable
redis 存储类型多样、底层保存字节数组
3.数据持久化
memcached 存数据于内存,超出之后,清除失效key、lru机制清除最近最少用的key
redis 存数据于内存 可持久化到磁盘,重启之后可继续加载使用
参考:
http://blog.csdn.net/tonysz126/article/details/8280696/
http://www.tuicool.com/articles/M7fiMv
http://www.blogjava.net/paulwong/archive/2013/09/06/403746.html
- 大小: 163 KB
分享到:
相关推荐
redis本地缓存与redis缓存
redis页面缓存html使用redis实现页面缓存.docx
分布式缓存 Redis + Memcached 经典面试题!
redis缓存 redis缓存
SpringBoot项目 MybatisPlus使用 Redis缓存.zip
redis分布式缓存+spring整合及 集群、分片等配置使用例子
实现Redis分布式缓存,此文件为相关原理
redis分布式缓存中间件培训PPT
redis多级缓存搭建资料
spark一个Linux下使用C++学习编写的并发服务器,使用redis作为缓存和MySQL作为数据库,并利用GoogleTest编写单元测试和webbench进行压力测试。.zipspark一个Linux下使用C++学习编写的并发服务器,使用redis作为缓存...
redis缓存服务器
shiro-demo使用redis做缓存.zip
SSM架构集成Redis做缓存,里面是一个完整的框架可以运行,sql文件在里面直接创建数据库
redis与memcached比较,在做系统选型时,可以参考。系统升级时,也可以借鉴。
独立缓存服务器: LinuxCentOS Redis版本: 3.0 下面我们针对于Redis安装做下详细的记录: 编译和安装所需的包: #yum install gcc tcl创建安装目录: #mkdir /usr/local/redis
memcache&redis构建缓存服务pdf文档
springmvc整合Mybatis,Redis;实现将查询的数据进行二级缓存处理
06-Redis缓存设计与性能优化最佳实践_ev.rar06-Redis缓存设计与性能优化最佳实践_ev.rar06-Redis缓存设计与性能优化最佳实践_ev.rar06-Redis缓存设计与性能优化最佳实践_ev.rar06-Redis缓存设计与性能优化最佳实践_...
零基础学会REDIS缓存数据库在JAVA中的使用。从REDIS的安装和使用开始,到Java程序与REDIS数据库进行连接互动,简单明了。
redis有两种使用方式一是作为数据库使用,二是作为缓存使用。 将redis作为缓存,当你新增数据时,让它自动地回收旧数据是件很方便的事情。这个行为在开发者社区非常有名,因为它是流行的memcached系统的默认行为。而...