永发信息网

如何用java获取redis的info

答案:1  悬赏:10  手机版
解决时间 2021-03-27 17:12
如何用java获取redis的info
最佳答案
预备
jedis-2.5.2
commons-pool2-2.2.jar
使用单连接
此方式仅建议用于开发环境做调试用。
// 创建连接
String host = "192.168.56.102";
int port = 6379;
Jedis client = new Jedis(host, port);
// 执行set指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令执行结果:%s", result) );
// 执行get指令
String value = client.get("key-string");
System.out.println( String.format("get指令执行结果:%s", value) );
运行上述代码,控制台输出:
set指令执行结果:OK
get指令执行结果:Hello, Redis!
使用连接池
此方式适用于仅使用单个Redis实例的场景。
// 生成连接池配置信息
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(10);
config.setMaxTotal(30);
config.setMaxWaitMillis(3*1000);

// 在应用初始化的时候生成连接池
JedisPool pool = new JedisPool(config, "192.168.56.102", 6379);

// 在业务操作时,从连接池获取连接
Jedis client = pool.getResource();
try {
// 执行指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令执行结果:%s", result) );
String value = client.get("key-string");
System.out.println( String.format("get指令执行结果:%s", value) );
} catch (Exception e) {
// TODO: handle exception
} finally {
// 业务操作完成,将连接返回给连接池
if (null != client) {
pool.returnResource(client);
}
} // end of try block

// 应用关闭时,释放连接池资源
pool.destroy();

运行上述代码,控制台输出:

set指令执行结果:OK
get指令执行结果:Hello, Redis!
使用连接池+分布式
在规模较大的系统中,往往会有多个Redis实例做负载均衡。并且还实现主从备份,当主实例发生故障时,切换至从实例提供服务。
类似于Memcached的客户端,Jedis也提供了客户端分布式操作的方式,采用一致性哈希算法。
// 生成多机连接信息列表
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add( new JedisShardInfo("127.0.0.1", 6379) );
shards.add( new JedisShardInfo("192.168.56.102", 6379) );

// 生成连接池配置信息
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(10);
config.setMaxTotal(30);
config.setMaxWaitMillis(3*1000);

// 在应用初始化的时候生成连接池
ShardedJedisPool pool = new ShardedJedisPool(config, shards);

// 在业务操作时,从连接池获取连接
ShardedJedis client = pool.getResource();
try {
// 执行指令
String result = client.set("key-string", "Hello, Redis!");
System.out.println( String.format("set指令执行结果:%s", result) );
String value = client.get("key-string");
System.out.println( String.format("get指令执行结果:%s", value) );
} catch (Exception e) {
// TODO: handle exception
} finally {
// 业务操作完成,将连接返回给连接池
if (null != client) {
pool.returnResource(client);
}
} // end of try block

// 应用关闭时,释放连接池资源
pool.destroy();

运行上述代码,控制台输出:

set指令执行结果:OK
get指令执行结果:Hello, Redis!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
辛丑条约中的划定使馆界与今天的使馆区有什么
东北俗称臭李子树学名叫什么
中考艺体生是什么意思?高中只可以上艺体班么
《火影同人——白雪》txt全集下载
如果a十b=2根号a十4根号b一5,求a十2b的值
空调1匹是什么意思,空调1匹适合多少平方
新鲜麦穗怎么样去皮,才能能吃到新鲜麦粒
结构胶道康宁268还是白云621好
键盘上Resst键在哪里。就是想改wifi密码,可
3m dp810 ab胶水怎么样
用60乘括号1加4分之3编出一个应用题
阅读下面的短文二年级回答问题,一个漆黑的夜
华日家具骗人,这怎么可能
极品修真强少修炼等级
女孩说,还好吧,我怎么回?
推荐资讯
有种被世界抛弃的感觉
如何为信奉基督教的一对新人挑选礼物
交货与交付的意思一样吗
货物出口后迟迟未收到货款,核销日期也临近了
宝马320im哪个颜色好看
驾考科三换挡是否每次都在空挡停顿l一2秒?我
freemobilevidz什么意思
48V逆变器能不能接在12V的电瓶上?
大网网络联盟(航母店)地址有知道的么?有点事
74×÷6-4=× x等于多少
用牛奶天天泡纸膜做面膜,可以吗?
为什么原厂铝轮毂那么重还那么贵
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?