博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring集成jedis简单实例
阅读量:5256 次
发布时间:2019-06-14

本文共 3220 字,大约阅读时间需要 10 分钟。

jedis是redis的java客户端,spring将redis连接池作为一个bean配置。

redis连接池分为两种,一种是“redis.clients.jedis.ShardedJedisPool”,这是基于hash算法的一种分布式集群redis客户端连接池。

另一种是“redis.clients.jedis.JedisPool”,这是单机环境适用的redis连接池。

 

maven导入相关包:

redis.clients
jedis
2.9.0

 

ShardedJedisPool是redis集群客户端的对象池,可以通过他来操作ShardedJedis,下面是ShardedJedisPool的xml配置,spring-jedis.xml:

${redis.pool.maxActive}
${redis.pool.maxIdle}

 

下面是单机环境下redis连接池的配置:

${redis.pool.maxActive}
${redis.pool.maxIdle}

 

 

对应的classpath:properties/redis.properties.xml为:

#最大分配的对象数redis.pool.maxActive=200#最大能够保持idel状态的对象数redis.pool.maxIdle=50redis.pool.minIdle=10redis.pool.maxWaitMillis=20000#当池内没有返回对象时,最大等待时间redis.pool.maxWait=300#格式:redis://:[密码]@[服务器地址]:[端口]/[db index]redis.uri = redis://:12345@127.0.0.1:6379/0redis.host = 127.0.0.1redis.port = 6379redis.timeout=30000redis.password = 12345redis.database = 0

 

二者操作代码类似,都是先注入连接池,然后通过连接池获得jedis实例,通过实例对象操作redis。

ShardedJedis操作:

@Autowired    private ShardedJedisPool shardedJedisPool;//注入ShardedJedisPool    @RequestMapping(value = "/demo_set",method = RequestMethod.GET)    @ResponseBody    public String demo_set(){        //获取ShardedJedis对象        ShardedJedis shardJedis = shardedJedisPool.getResource();        //存入键值对        shardJedis.set("key1","hello jedis");        //回收ShardedJedis实例        shardJedis.close();        return "set";    }    @RequestMapping(value = "/demo_get",method = RequestMethod.GET)    @ResponseBody    public String demo_get(){        ShardedJedis shardedJedis = shardedJedisPool.getResource();        //根据键值获得数据        String result = shardedJedis.get("key1");        shardedJedis.close();        return result;    }

 

Jedis操作:

@Autowired    private JedisPool jedisPool;//注入JedisPool    @RequestMapping(value = "/demo_set",method = RequestMethod.GET)    @ResponseBody    public String demo_set(){        //获取ShardedJedis对象        Jedis jedis = jedisPool.getResource();        //存入键值对        jedis.set("key2","hello jedis one");        //回收ShardedJedis实例        jedis.close();        return "set";    }    @RequestMapping(value = "/demo_get",method = RequestMethod.GET)    @ResponseBody    public String demo_get(){        Jedis jedis = jedisPool.getResource();        //根据键值获得数据        String result = jedis.get("key2");        jedis.close();        return result;    }

 

转载于:https://www.cnblogs.com/red-code/p/6657517.html

你可能感兴趣的文章
javascript之Style物
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
原生HttpClient详细使用示例
查看>>
Factory Design Pattern
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>