没有合适的资源?快使用搜索试试~ 我知道了~
在不同的线程中使用相同的Jedis实例会发生奇怪的错误。但是创建太多的实现也不好因为这意味着会建立很多sokcet连接, 也会导致奇怪的错误发生。单一Jedis实例不是线程安全的。为了避免这些问题,可以使用是一个线程安全的网络连接池。可以用JedisPool创建一些可靠Jedis实例,可以从池中拿到Jedis的实例。 这种方式可以解决那些问题并且会实现高效的性能
资源推荐
资源详情
资源评论
1. packagecom.wujintao.redis;
2.
3. importjava.util.Date;
4. importjava.util.HashMap;
5. importjava.util.Iterator;
6. importjava.util.List;
7. importjava.util.Map;
8. importjava.util.Set;
9.
10. importorg.junit.Test;
11.
12. importredis.clients.jedis.Jedis;
13. importredis.clients.jedis.Pipeline;
14. importredis.clients.jedis.SortingParams;
15.
16. importcom.wujintao.redis.util.RedisUtil;
17.
18.
19. publicclassTestCase{
20.
21. /**
22. *在不同的线程中使用相同的 Jedis 实例会发生奇怪的错误。但是创建太多的实现也不
好因为这意味着会建立很多 sokcet 连接,)
23. *也会导致奇怪的错误发生。单一 Jedis 实例不是线程安全的。为了避免这些问题,可
以使用 JedisPool,
24. *JedisPool 是一个线程安全的网络连接池。可以用 JedisPool 创建一些可靠 Jedis
实例,可以从池中拿到 Jedis 的实例。)
25. *这种方式可以解决那些问题并且会实现高效的性能)
26. */
27.
28. publicstaticvoidmain(String[]args){
29.
30. //...whenclosingyourapplication:
31. RedisUtil.getPool().destroy();
32.
33. }
34.
35. publicstaticvoidHello(){
36. Jedisjedis=RedisUtil.getJedis();
37. try{
38. //向 key-->name 中放入了 value-->minxr
39. jedis.set("name","minxr");
40. Stringss=jedis.get("name");
41. System.out.println(ss);
42.
43. //很直观,类似 map将 jintaoappend 到已经有的 value 之后))
44. jedis.append("name","jintao");
45. ss=jedis.get("name");
46. System.out.println(ss);
47.
48. //2、直接覆盖原来的数据))
49. jedis.set("name","jintao");
50. System.out.println(jedis.get("jintao"));
51.
52. //删除 key 对应的记录))
53. jedis.del("name");
54. System.out.println(jedis.get("name"));//执行结果:null
55.
56. /**
57. *mset 相当于)jedis.set("name","minxr");jedis.set("jarorwa
r","aaa");
58. */
59. jedis.mset("name","minxr","jarorwar","aaa");
60. System.out.println(jedis.mget("name","jarorwar"));
61. }catch(Exceptione){
62. e.printStackTrace();
63. }finally{
64. RedisUtil.getPool().returnResource(jedis);
65. }
66.
67. }
68.
69. privatevoidtestKey(){
70. Jedisjedis=RedisUtil.getJedis();
71. System.out.println("=============key==========================
");
72. //清空数据))
73. System.out.println(jedis.flushDB());
74. System.out.println(jedis.echo("foo"));
75. //判断 key 否存在))
76. System.out.println(jedis.exists("foo"));
77. jedis.set("key","values");
78. System.out.println(jedis.exists("key"));
79. }
80.
81. publicstaticvoidtestString(){
82. System.out.println("==String==");
83. Jedisjedis=RedisUtil.getJedis();
84. try{
85. //String
86. jedis.set("key","HelloWorld!");
87. Stringvalue=jedis.get("key");
88. System.out.println(value);
89. }catch(Exceptione){
90. e.printStackTrace();
91. }finally{
92. RedisUtil.getPool().returnResource(jedis);
93. }
94.
95. System.out.println("=============String=======================
===");
96. //清空数据))
97. System.out.println(jedis.flushDB());
98. //存储数据))
99. jedis.set("foo","bar");
100. System.out.println(jedis.get("foo"));
101. //若 key 不存在,则存储))
102. jedis.setnx("foo","foonotexits");
103. System.out.println(jedis.get("foo"));
104. //覆盖数据))
105. jedis.set("foo","fooupdate");
106. System.out.println(jedis.get("foo"));
107. //追加数据))
108. jedis.append("foo","hello,world");
109. System.out.println(jedis.get("foo"));
110. //设置 key 的有效期,并存储数据))
111. jedis.setex("foo",2,"foonotexits");
112. System.out.println(jedis.get("foo"));
113. try{
114. Thread.sleep(3000);
115. }catch(InterruptedExceptione){
116. }
117. System.out.println(jedis.get("foo"));
118. //获取并更改数据))
119. jedis.set("foo","fooupdate");
120. System.out.println(jedis.getSet("foo","foomodify"));
121. //截取 value 的值))
122. System.out.println(jedis.getrange("foo",1,3));
123. System.out.println(jedis.mset("mset1","mvalue1","mset2","
mvalue2",
124. "mset3","mvalue3","mset4","mvalue4"));
125. System.out.println(jedis.mget("mset1","mset2","mset3","ms
et4"));
126. System.out.println(jedis.del(newString[]{"foo","foo1","
foo3"}));
127. }
128.
129. publicstaticvoidtestList(){
130. System.out.println("==List==");
131. Jedisjedis=RedisUtil.getJedis();
132. try{
133. //开始前,先移除所有的内容))
134. jedis.del("messages");
135. jedis.rpush("messages","Hellohowareyou?");
136. jedis.rpush("messages","Finethanks.I'mhavingfunwit
hredis.");
137. jedis.rpush("messages","IshouldlookintothisNOSQLt
hingASAP");
138.
139. //再取出所有数据 jedis.lrange 是按范围取出,))
140. //第一个是 key,第二个是起始位置,第三个是结束位置,jedis.llen 获
取长度)-1 表示取得所有))
141. List<String>values=jedis.lrange("messages",0,-1);
142. System.out.println(values);
143.
144. }catch(Exceptione){
145. e.printStackTrace();
146. }finally{
147. RedisUtil.getPool().returnResource(jedis);
148. }
149.
150. //清空数据))
151. System.out.println(jedis.flushDB());
152. //添加数据))
153. jedis.lpush("lists","vector");
154. jedis.lpush("lists","ArrayList");
155. jedis.lpush("lists","LinkedList");
156. //数组长度))
157. System.out.println(jedis.llen("lists"));
158. //排序))
159. System.out.println(jedis.sort("lists"));
160. //字串))
161. System.out.println(jedis.lrange("lists",0,3));
162. //修改列表中单个值))
163. jedis.lset("lists",0,"hellolist!");
164. //获取列表指定下标的值))
165. System.out.println(jedis.lindex("lists",1));
166. //删除列表指定下标的值))
167. System.out.println(jedis.lrem("lists",1,"vector"));
168. //删除区间以外的数据))
169. System.out.println(jedis.ltrim("lists",0,1));
170. //列表出栈))
171. System.out.println(jedis.lpop("lists"));
172. //整个列表值))
173. System.out.println(jedis.lrange("lists",0,-1));
174. }
175.
176. publicstaticvoidtestSet(){
177. System.out.println("==Set==");
178. Jedisjedis=RedisUtil.getJedis();
179. try{
180. jedis.sadd("myset","1");
181. jedis.sadd("myset","2");
182. jedis.sadd("myset","3");
183. jedis.sadd("myset","4");
184. Set<String>setValues=jedis.smembers("myset");
185. System.out.println(setValues);
186.
187. //移除 noname
188. jedis.srem("myset","4");
189. System.out.println(jedis.smembers("myset"));//获取所有加
入的 value
190. System.out.println(jedis.sismember("myset","4"));//判断)
minxr
191. //是
否是 sname 集合的元素))
192. System.out.println(jedis.scard("sname"));//返回集合的元素
个数))
193. }catch(Exceptione){
194. e.printStackTrace();
195. }finally{
196. RedisUtil.getPool().returnResource(jedis);
197. }
198.
剩余26页未读,继续阅读
资源评论
含笑_酒泉
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功