java redis 分布式(切片)非分布式(非切片)连接

  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3. import redis.clients.jedis.Jedis;  
  4. import redis.clients.jedis.JedisPool;  
  5. import redis.clients.jedis.JedisPoolConfig;  
  6. import redis.clients.jedis.JedisShardInfo;  
  7. import redis.clients.jedis.ShardedJedis;  
  8. import redis.clients.jedis.ShardedJedisPool;  
  9. /** 
  10. * redis的Java客户端Jedis测试验证 
  11. * 
  12. * @author 
  13. */  
  14. public class Test {  
  15. /** 
  16. * 非切片客户端链接 
  17. */  
  18. private Jedis jedis;  
  19. /** 
  20. * 非切片链接池 
  21. */  
  22. private JedisPool jedisPool;  
  23. /** 
  24. * 切片客户端链接 
  25. */  
  26. private ShardedJedis shardedJedis;  
  27. /** 
  28. * 切片链接池 
  29. */  
  30. private ShardedJedisPool shardedJedisPool;  
  31. private String ip = "172.16.205.186";  
  32. /** 
  33. * 构造函数 
  34. */  
  35. public Test() {  
  36. initialPool();  
  37. initialShardedPool();  
  38. shardedJedis = shardedJedisPool.getResource();  
  39. jedis = jedisPool.getResource();  
  40. }  
  41. private void initialPool() {  
  42. // 池基本配置  
  43. JedisPoolConfig config = new JedisPoolConfig();  
  44. config.setMaxActive(20);  
  45. config.setMaxIdle(5);  
  46. config.setMaxWait(1000l);  
  47. config.setTestOnBorrow(false);  
  48. jedisPool = new JedisPool(config, ip, 6379);  
  49. }  
  50. /** 
  51. * 初始化切片池 
  52. */  
  53. private void initialShardedPool() {  
  54. // 池基本配置  
  55. JedisPoolConfig config = new JedisPoolConfig();  
  56. config.setMaxActive(20);  
  57. config.setMaxIdle(5);  
  58. config.setMaxWait(1000l);  
  59. config.setTestOnBorrow(false);  
  60. // slave链接  
  61. List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();  
  62. shards.add(new JedisShardInfo(ip, 6379"master"));  
  63. // 构造池  
  64. shardedJedisPool = new ShardedJedisPool(config, shards);  
  65. }  
  66. public void show() {  
  67. // key检测  
  68. testKey();  
  69. // string检测  
  70. testString();  
  71. // list检测  
  72. testList();  
  73. // set检测  
  74. testSet();  
  75. // sortedSet检测  
  76. testSortedSet();  
  77. // hash检测  
  78. testHash();  
  79. shardedJedisPool.returnResource(shardedJedis);  
  80. }  
  81. private void testKey() {  
  82. System.out.println("=============key==========================");  
  83. // 清空数据  
  84. System.out.println(jedis.flushDB());  
  85. System.out.println(jedis.echo("foo"));  
  86. // 判断key否存在  
  87. System.out.println(shardedJedis.exists("foo"));  
  88. shardedJedis.set("key""values");  
  89. System.out.println(shardedJedis.exists("key"));  
  90. }  
  91. private void testString() {  
  92. System.out.println("=============String==========================");  
  93. // 清空数据  
  94. System.out.println(jedis.flushDB());  
  95. // 存储数据  
  96. shardedJedis.set("foo""bar");  
  97. System.out.println(shardedJedis.get("foo"));  
  98. // 若key不存在,则存储  
  99. shardedJedis.setnx("foo""foo not exits");  
  100. System.out.println(shardedJedis.get("foo"));  
  101. // 覆盖数据  
  102. shardedJedis.set("foo""foo update");  
  103. System.out.println(shardedJedis.get("foo"));  
  104. // 追加数据  
  105. shardedJedis.append("foo"" hello, world");  
  106. System.out.println(shardedJedis.get("foo"));  
  107. // 设置key的有效期,并存储数据  
  108. shardedJedis.setex("foo"2"foo not exits");  
  109. System.out.println(shardedJedis.get("foo"));  
  110. try {  
  111. Thread.sleep(3000);  
  112. catch (InterruptedException e) {  
  113. }  
  114. System.out.println(shardedJedis.get("foo"));  
  115. // 获取并更改数据  
  116. shardedJedis.set("foo""foo update");  
  117. System.out.println(shardedJedis.getSet("foo""foo modify"));  
  118. // 截取value的值  
  119. System.out.println(shardedJedis.getrange("foo"13));  
  120. System.out.println(jedis.mset("mset1""mvalue1""mset2""mvalue2",  
  121. "mset3""mvalue3""mset4""mvalue4"));  
  122. System.out.println(jedis.mget("mset1""mset2""mset3""mset4"));  
  123. System.out.println(jedis.del(new String[] { "foo""foo1""foo3" }));  
  124. }  
  125. private void testList() {  
  126. System.out.println("=============list==========================");  
  127. // 清空数据  
  128. System.out.println(jedis.flushDB());  
  129. // 添加数据  
  130. shardedJedis.lpush("lists""vector");  
  131. shardedJedis.lpush("lists""ArrayList");  
  132. shardedJedis.lpush("lists""LinkedList");  
  133. // 数组长度  
  134. System.out.println(shardedJedis.llen("lists"));  
  135. // 排序  
  136. //      System.out.println(shardedJedis.sort("lists"));  
  137. // 字串  
  138. System.out.println(shardedJedis.lrange("lists"03));  
  139. // 修改列表中单个值  
  140. shardedJedis.lset("lists"0"hello list!");  
  141. // 获取列表指定下标的值  
  142. System.out.println(shardedJedis.lindex("lists"1));  
  143. // 删除列表指定下标的值  
  144. System.out.println(shardedJedis.lrem("lists"1"vector"));  
  145. // 删除区间以外的数据  
  146. System.out.println(shardedJedis.ltrim("lists"01));  
  147. // 列表出栈  
  148. System.out.println(shardedJedis.lpop("lists"));  
  149. // 整个列表值  
  150. System.out.println(shardedJedis.lrange("lists"0, -1));  
  151. }  
  152. private void testSet() {  
  153. System.out.println("=============set==========================");  
  154. // 清空数据  
  155. System.out.println(jedis.flushDB());  
  156. // 添加数据  
  157. shardedJedis.sadd("sets""HashSet");  
  158. shardedJedis.sadd("sets""SortedSet");  
  159. shardedJedis.sadd("sets""TreeSet");  
  160. // 判断value是否在列表中  
  161. System.out.println(shardedJedis.sismember("sets""TreeSet"));  
  162. ;  
  163. // 整个列表值  
  164. System.out.println(shardedJedis.smembers("sets"));  
  165. // 删除指定元素  
  166. System.out.println(shardedJedis.srem("sets""SortedSet"));  
  167. // 出栈  
  168. System.out.println(shardedJedis.spop("sets"));  
  169. System.out.println(shardedJedis.smembers("sets"));  
  170. //  
  171. shardedJedis.sadd("sets1""HashSet1");  
  172. shardedJedis.sadd("sets1""SortedSet1");  
  173. shardedJedis.sadd("sets1""TreeSet");  
  174. shardedJedis.sadd("sets2""HashSet2");  
  175. shardedJedis.sadd("sets2""SortedSet1");  
  176. shardedJedis.sadd("sets2""TreeSet1");  
  177. // 交集  
  178. System.out.println(jedis.sinter("sets1""sets2"));  
  179. // 并集  
  180. System.out.println(jedis.sunion("sets1""sets2"));  
  181. // 差集  
  182. System.out.println(jedis.sdiff("sets1""sets2"));  
  183. }  
  184. private void testSortedSet() {  
  185. System.out.println("=============zset==========================");  
  186. // 清空数据  
  187. System.out.println(jedis.flushDB());  
  188. // 添加数据  
  189. shardedJedis.zadd("zset"10.1"hello");  
  190. shardedJedis.zadd("zset"10.0":");  
  191. shardedJedis.zadd("zset"9.0"zset");  
  192. shardedJedis.zadd("zset"11.0"zset!");  
  193. // 元素个数  
  194. System.out.println(shardedJedis.zcard("zset"));  
  195. // 元素下标  
  196. System.out.println(shardedJedis.zscore("zset""zset"));  
  197. // 集合子集  
  198. System.out.println(shardedJedis.zrange("zset"0, -1));  
  199. // 删除元素  
  200. System.out.println(shardedJedis.zrem("zset""zset!"));  
  201. System.out.println(shardedJedis.zcount("zset"9.510.5));  
  202. // 整个集合值  
  203. System.out.println(shardedJedis.zrange("zset"0, -1));  
  204. }  
  205. private void testHash() {  
  206. System.out.println("=============hash==========================");  
  207. // 清空数据  
  208. System.out.println(jedis.flushDB());  
  209. // 添加数据  
  210. shardedJedis.hset("hashs""entryKey""entryValue");  
  211. shardedJedis.hset("hashs""entryKey1""entryValue1");  
  212. shardedJedis.hset("hashs""entryKey2""entryValue2");  
  213. // 判断某个值是否存在  
  214. System.out.println(shardedJedis.hexists("hashs""entryKey"));  
  215. // 获取指定的值  
  216. System.out.println(shardedJedis.hget("hashs""entryKey"));  
  217. // 批量获取指定的值  
  218. System.out  
  219. .println(shardedJedis.hmget("hashs""entryKey""entryKey1"));  
  220. // 删除指定的值  
  221. System.out.println(shardedJedis.hdel("hashs""entryKey"));  
  222. // 为key中的域 field 的值加上增量 increment  
  223. System.out.println(shardedJedis.hincrBy("hashs""entryKey", 123l));  
  224. // 获取所有的keys  
  225. System.out.println(shardedJedis.hkeys("hashs"));  
  226. // 获取所有的values  
  227. System.out.println(shardedJedis.hvals("hashs"));  
  228. }  
  229. /** 
  230. * @param args 
  231. */  
  232. public static void main(String[] args) {  
  233. new Test().show();  
  234. }  
  235. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值