缓存
流程图:
- data = cache.load(id);//从缓存加载数据
- If(data == null){
- data = db.load(id);//从数据库加载数据
- cache.put(id,data);//保存到 cache 中
- }
- return data;
复制代码 在我们的单体项目中可以用Map作为本地缓存,速度还很快。但是分布式项目。由于有多个服务。每次负载均衡到服务时,可能都不命中本地缓存,本地缓存不会在多个服务间收效。所以应该集身分布式缓存:比如redis
1、docker下启动redis
docker下载redis镜像
创建镜像挂载
在redis文件夹下网络下载redis.conf文件
- wget http://download.redis.io/redis-stable/redis.conf
复制代码 去编辑redis.conf文件
注释后代表恣意ip访问
设置redis密码
appendonly yes:redis持久化
##末了挂载永世启动redis
- docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
复制代码 然后我们用rdm工具连上redis
2、项目整合redis
1、pom.xml引入依靠
- <!--整合redis-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
复制代码 2、application.yml设置redis设置信息
3、使用RedisTemplate操作redis
- @Autowired
- StringRedisTemplate stringRedisTemplate;
复制代码- @Test
- public void testRedis(){
- ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
- ops.set("hello","world_"+ UUID.randomUUID().toString());
- String hello = ops.get("hello");
- System.out.println(hello);
- }
复制代码
测试用例执行乐成,控制台输出redis的值。
查抄redis里是否有这个值
集成redis是乐成的
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |