spring-boot 集成 redis
来源:互联网 发布:line安卓版 无网络 编辑:程序博客网 时间:2024/05/02 11:18
1.安装redis环节我这边忽略了。。。
2.关闭redis所在服务器防火墙
3.修改redis.conf配置文件
注:这一步如不改 直接在redis命令执行没问题,但spring-boot 架构项目 或 jedis api 都有问题
3.1 注释掉绑定地址
# bind 127.0.0.1
3.2修改守护进程为no
127.0.0.1:6379> config set daemonize "no"
3.3 修改保护模式为no
127.0.0.1:6379> config set protected-mode "no"
3.4 设置身份密码验证
找到# requirepass 将前面的#去掉 (后面的是密码 可以修改密码)
3.5 启动reids服务器
$ cd /opt/redis
$ src/redis-cli /opt/redis-cli/redis.conf
4.maven jar包依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
5. application.properties添加链接配置
spring.redis.host=192.168.xxx.xxx
spring.redis.port=6379
spring.redis.password=ray.liusl
#最大分配的对象数
spring.redis.Pool.maxIdle=10
spring.redis.Pool.maxActive=10
6.RedisCacheConfig redis缓存配置类
@Configuration
@EnableCaching //启用缓存
public class RedisCacheConfig extends CachingConfigurerSupport {
/**
* @description cacheManager:缓存管理器 <br>
*
* @author ray.liusl<br>
* date: 2017年6月19日 上午9:59:33 <br>
* @since JDK 1.8
* @param redisTemplate 缓存模版
* @return 缓存管理对象
*/
@Bean
public CacheManager cacheManager(RedisTemplate<?, ?> redisTemplate) {
CacheManager cacheManager = new RedisCacheManager(redisTemplate);
return cacheManager;
}
/**
* @description redisTemplate:redis模版操作 <br>
*
* @author ray.liusl<br>
* date: 2017年6月19日 上午10:00:33 <br>
* @since JDK 1.8
* @param factory 连接工厂
* @return RedisTemplate<String, String> redis模版对象
*/
@Bean
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
redisTemplate.setConnectionFactory(factory);
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(redisSerializer);
redisTemplate.setHashKeySerializer(redisSerializer);
return redisTemplate;
}
7. Service层
@Service
public class SampleRedisServiceImpl implements SampleRedisService {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Autowired
private UserDao userDao;// 系统用户dao
@Override
public Object getStringCache(String key) {
ValueOperations<String, String> valueOperations = redisTemplate.opsForValue();
// valueOperations.set(key, "random1=" + Math.random());
return valueOperations.get(key);
}
//下面User 为实体类 请自行创建下 省略
@Cacheable(key = "#userId", value = "user")
@Override
public User findByUserCode(String userId) {
return userDao.findById(userId);
}
8.Controller层代码
@Controller
@RequestMapping("/redis")
public class SampleRedisController {
@Autowired
SampleRedisService sampleRedisService;
@RequestMapping("/getStringCache")
public void getStringCache(String id) {
User user = sampleRedisService.findById(code);// 从数据库查
user = (User) sampleRedisService.getStringCache(id); //从缓存取
System.out.println(user.getName());
}
9.运行结果及redis服务器存储数据情况
2017-06-19 13:50:57.299
admin
10.redis其他数据结构大家下面自行再研究研究 这边就开个头。。。
- Spring Boot Redis 集成
- Spring Boot集成Redis
- spring-boot 集成 redis
- spring boot 集成redis
- Spring boot集成Redis
- Spring Boot 集成Redis
- spring boot集成redis
- spring boot +mybatis+redis集成
- spring-boot-starter-redis 集成
- Spring Boot Redis 集成配置
- spring boot 集成redis 配置
- Spring Boot : 集成redis(九)
- spring-boot-starter-redis 集成
- spring-boot 集成spring-session redis
- Spring Boot(五)集成 Redis
- Spring Boot集成Redis实现缓存
- Spring Boot集成Redis实现缓存机制
- (16)spring boot中集成Redis实例
- 如何扩展python
- Android 实现添加本地数组在Res/values下的xml文件
- android 启动模式
- 访问网站出现Access denied for user 'root'@'%' to database 'xxx'
- 区块链基础:散列法(Hashing)
- spring-boot 集成 redis
- 【Android】【bluetooth 】如何记住蓝牙地址名字和状态
- Javascript中bind()方法的使用与实现
- Python3 BeautifulSoup爬虫 HDU自动提交
- 表单控件 文本框 title overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA
- 论 C++ 在OpenJudge中做题的易错点(一)
- opencv3.2的cuda重新编译教程
- SQL Function 自定义函数
- Android中时间、日期的计算方法