副标题: Redis一二事(2)在spring中使用jedis连接调试独立Redis和集群Redis
Redis真好。 其中的键值真强大啊。 有木有、
在上一篇文章中叙述了构建了redis集群
那么,该如何调用独立版的redis和集群版的redis来使用缓存服务呢?
首先谈谈独立版。 独立版的redis安装非常简单。 别说太多,直接使用命令:
[ root @ nginxmldhs ] #./redis-server redis.conf
开始就行了
在sprig文件中,配置以下内容
这是已配置的redis-cli连接池
接下来,定义两个类实现的接口
一个是独立版,一个是集群版
有人会问我为什么要实现两个类,因为redis的独立和群集是不同的实现方法
通常,在开发环境中使用独立版本进行测试,在生产环境中直接上传到群集
# fake集群
redis.single.client.host=192.168.1.191
redis.single.client.port=6379
在你的资源文件中输入上述信息,spring调用
恕我直言,资源文件*.properties在spring父子容器中并不通用
也就是说,服务的spring容器只能包含服务层调用
在springMVC容器中,资源文件并不以容器为荣,因此仅由springMVC自身调用
spring容器中的对象可以通过springMVC访问
但是,springMVC对象和资源文件绝对不能由spring访问。
举个栗子吧:你见过服务访问控制器吗? 不,哈哈
首先做一个通用jedis客户端吧
(有两个小鬼不知道最后两个方法的意思并发表评论。 实际上,在规范方面,必须对所有接口方法进行注释,但在实现类中不需要。 但是,必须对实现类中的专用方法进行注释。 这是规格。 ) ) ) ) ) )
独立版实现类:“9503.163.com”
这是一个集群:
使用位置通常在service中调用,以接口需要添加缓存的所有位置
以前询问过有无缓存,直接返回过,没有检查数据库,所以放入缓存中
也有企业做那个。 我们有一个团队来管理所有缓存,我们制定计时器,每天早上按规定时间运行批处理,然后将数据放入缓存
你可以这么做
我们采取的是第一个
PS:@Autowired我们使用的是同一类型,但是有人喜欢使用@resource。 那样的话,就必须多写一个。 不是的
@Autowired
私有jedis客户端jedis客户端;
@value((${Redis_content_key} ) )
私有字符串redis _ content _ key;
@Override
publiclistcontentgettlist (longid ) {
为了在//TODO这个地方放入缓存和不放入缓存,单体或集群的redis进行压力测试
//添加缓存
//如果在联系数据库之前检查缓存并直接返回
try {
从redis获取缓存数据
string JSON=jedis client.hget (redis _ content _ key,id ' ' );
if (! stringutils.isblank(JSON ) }{
将json转换为列表
listcontentlist=JSON utils.jsontolist (JSON,Content.class;
返回列表;
}
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
//执行查询
List? list=XXXmapper.select(id;
//在返回结果之前将数据添加到缓存中
try {
可以使用hash来规范//key
//定义保存内容的密钥,hash的各项为cid
//value是列表,需要将列表转换为json数据。
jedis client.hset (redis _ content _ key,id ' ',JSONutils.ObjectTojson(list ) );
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
返回列表;
}
那么服务比较好。 集群版也通用
集群配置怎么样?
放弃评论
使用资源文件配置
#实时群集
redis 01.real.cluster.client.host=192.168.1.193
redis 01.real.cluster.client.port=7001
redis 02.real.cluster.client.host=192.168.1.194
redis 02.real.cluster.client.port=7002
redis 03.real.cluster.client.host=192.168.1.195
redis 03.real.cluster.client.port=7003
redis 04.real.cluster.client.host=192.168.1.196
redis 04.real.cluster.client.port=7004
redis 05.real.cluster.client.host=192.168.1.197
redis 05.real.cluster.client.port=7005
redis 06.real.cluster.client.host=192.168.1.198
redis 06.real.cluster.client.port=7006
是的,启动后可以立即运行
设置为调用Test或控制器
但是,在同步缓存(添加、修改和删除数据)之后,请同步缓存,将原始戴尔放入新的
这样就可以了` ~
心有多开放,视野就有多开阔
不忘初心,永远保持
Stay hungry,Stay foolish。
(微信公众号: BeJavaGod博客33603358 www.cn blogs.com/leech en Xiang同步更新)