细细解释一下这个问题,当一个请求发送数据当服务器时,一开始存储数据是
Redis缓存,没有进行任何关于数据库的操作,但是缓存不能持久化,因此需要
需要把这些数据存入数据库,因此会在一定条件时判断一个请求是否结束,一旦结束,
就会将缓存中的数据更新到数据库。而这个条件就像秒杀或者抢红包业务中红包数量
是否为0,如果为空,一次性写入数据库,完成持久化工作。
[](
)Redis的原理解析
------------------------------------------------------------------------
此部分需要从两个方面为读者解读,不管是配置也好还是代码堆积也好,他们之间紧紧地联系在一起,读者可以参考阅读。
* Spring环境下的Redis配置细节
* Java环境下的Jedis操作
### [](
)Spring IOC原理简单回忆
SpringIoc控制反转技术简单的理解就是管理我们日常所用的JavaBean类或者对象,因为一个Bean对象拥有属性和它们各自对应的getter和setter方法等,(只是简单的举JavaBean对象,其他对象也可以),SpringIoc容器干了什么呢?通过我们人为的配置,SpringIOC会在容器中保存对应的Bean对象。下面代码介绍:
package com.ruider;
public class Person{
private String name;
private int age;
/** getter and setter **/
}
这是一个Person类,拥有属性name和age
初始化一个对象:
Person a=new Person();
a.setName(“a”);
a.setAge(20);
再看看我们的Spring中的配置
<property name="name" value="a"/>
<property name="age" value="20"/>
使用配置获取Person对象
@Autowired
Person a=null;
不管是Java代码式创建对象还是使用SpringIOC容器获取对象,他们都是等价的。
理解这一点会有助于后面的Redis原理解析。
###Redis属性以及连接池的属性
Redis:(connectionFactory常用的)
-
jedisCOnfig连接池配置信息
-
port端口,一般是6379
-
host或者localhost
-
password 密码
</