天天看点

在springmvc中配置jedis:

主要学习https://github.com/thinkgem/jeesite。一下代码均参考于此并稍作修改。

首先,需要添加jedis:

然后,springmvc完成基本配置。添加jedispool的bean即可。在spring容器中添加applicationContext-jedis.xml:

在applicationContext-jedis.xml中添加:

注解:参考的源码中的jedisPool配置只有三个参数:config,host,port。我复制后的结果总是getResource失败,因为我的redis添加了auth,所以猜测是不是没通过auth的原因。于是打开JedisPool的源码:

在springmvc中配置jedis:
在springmvc中配置jedis:

View Code

看到有password的参数配置,如果没有配置的话默认为null。到这一步我便没有往下深入看了,因为我连接的redis中有auth,原谅我的不求甚解。于是,我接着配置timeout和auth。timeout直接还是源码的默认值。后面的代码测试通过。在这里我了解到spring的bean注入的几个参数含义:比如property表示属性注入,constructor表示构造函数的参数注入。

为了更清楚的表达,redis要设置db,配置文件参数也做一下改动:

最后一项参数是选择redis的db,我认为通常默认连接的都是redis的0,那么我们的开发环境为了不冲突,应该另外设置。但JedisPool并没有只有指定db的构造函数,所以选择了这个构造函数。唯一的问题是,默认我们的redis是没有密码的,那么这里也填null而不是空字符串哦。所以,这里使用spring spEL表达式来填充空。对应的配置文件如下:

上面设置好了JedisPool,这里就要获取jedis。然后就可以利用jedis进行操作了。

但是,为了更加自定义的设置db,这里也可以加一个db的选择:

为了我们的key与其他app不冲突,我们最后为我们key统一增加一个标识,这种做法类似选择一个表。

在任何使用到redis的地方,配置key的prefix。比如get 和 set:

我们平时用到的list基本都是ObjectList,即list的元素为object而不是String。这样就需要特定方法来缓存了。

在springmvc中配置jedis:
在springmvc中配置jedis:

唯有不断学习方能改变!

-- <b>Ryan Miao</b>