1. package com.answer.redis;
  2.  
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.Set;
  7.  
  8. import redis.clients.jedis.Jedis;
  9.  
  10. public class RedisTool {
  11.  
  12. Jedis jedis = null;
  13.  
  14. public RedisTool(boolean flag) {
  15. //连接REDIS数据库
  16. jedis = new Jedis("hadoop1");
  17. //密码认证
  18. if (flag) {
  19. jedis.auth("123456");
  20. }
  21. }
  22.  
  23. /**
  24. * @describe 判断key是否存在
  25. * */
  26. public boolean exists(String key){
  27. return jedis.exists(key);
  28. }
  29.  
  30. /**
  31. * @describe 往REDIS数据库中添加信息(数组形式)
  32. * */
  33. public void lpush_arr(String key, String[] values) {
  34. jedis.lpush(key, values);
  35. }
  36.  
  37. /**
  38. * @describe 返回key的类型
  39. * */
  40. public Object type(String key) {
  41. return jedis.type(key);
  42. }
  43.  
  44. /**
  45. * @describe 随机返回一个key
  46. * */
  47. public Object randomKey() {
  48. return jedis.randomKey();
  49. }
  50.  
  51. /**
  52. * @describe 返回数据库中key的数目
  53. * */
  54. public long dbSize() {
  55. return jedis.dbSize();
  56. }
  57.  
  58. /**
  59. * @describe 设置一个可以的存活时间
  60. * @param seconds 存活时间
  61. * */
  62. public void expire(String key, int seconds) {
  63. jedis.expire(key, seconds);
  64. }
  65.  
  66. /**
  67. * @describe 获取一个key的剩余存活时间
  68. * */
  69. public long ttl(String key) {
  70. return jedis.ttl(key);
  71. }
  72.  
  73. /**
  74. * @describe 删除key及对应的filed-value
  75. * @param key
  76. * */
  77. public void del(String key) {
  78. jedis.del(key);
  79. }
  80.  
  81. /*
  82. * ############################### String ###############################
  83. * */
  84.  
  85. /**
  86. * @describe 获取key所对应的值(String)
  87. * */
  88. public String get_str(String key) {
  89. return jedis.get(key);
  90. }
  91.  
  92. /**
  93. * @describe 向REDIS存放一组key-value(String)
  94. * */
  95. public void set_str(String key, String value) {
  96. jedis.set(key, value);
  97. }
  98.  
  99. /**
  100. * @describe 在key对应的值后追加value(String)
  101. * */
  102. public void append_str(String key, String value) {
  103. jedis.append(key, value);
  104. }
  105.  
  106. /**
  107. * @describe 给key值所对应的value加1,前提value值是数字(String)
  108. * */
  109. public void incr_str(String key) {
  110. jedis.incr(key);
  111. }
  112.  
  113. /**
  114. * @describe 给key值所对应的value减1,前提value值是数字(String)
  115. * */
  116. public void decr_str(String key) {
  117. jedis.decr(key);
  118. }
  119.  
  120. /**
  121. * @describe 给key值所对应的value加上NUM(String)
  122. * @param num 要加去的数
  123. * */
  124. public void incrBy_str(String key, long num) {
  125. jedis.incrBy(key, num);
  126. }
  127.  
  128. /**
  129. * @describe 给key值所对应的value减去NUM(String)
  130. * @param num 要减去的数
  131. * */
  132. public void decrBy_str(String key, long num) {
  133. jedis.decrBy(key, num);
  134. }
  135.  
  136. /**
  137. * @describe 截取key所对应的value的字符串(String)
  138. * @param start start从0开始
  139. * @param end 截取到value的end位置
  140. * */
  141. public String substr_str(String key, int start, int end) {
  142. return jedis.substr(key, start, end);
  143. }
  144.  
  145. /*
  146. * ############################### List ###############################
  147. * */
  148.  
  149. /**
  150. * @describe 在key对应的list尾添加value(List)
  151. * */
  152. public void rpush_list(String key, String[] value) {
  153. jedis.rpush(key, value);
  154. }
  155.  
  156. /**
  157. * @describe 在key对应的list头添加value(List)
  158. * */
  159. public void lpush_list(String key, String[] value) {
  160. jedis.lpush(key, value);
  161. }
  162.  
  163. /**
  164. * @describe 获取key对应的list的长度(List)
  165. * @return 返回key对应的list的长度
  166. * */
  167. public long llen_list(String key) {
  168. return jedis.llen(key);
  169. }
  170.  
  171. /**
  172. * @describe 返回key对应的list中从start至end的元素(List)
  173. * @param start 附:start从0开始算起
  174. * @return 返回key对应的list中从start至end的元素
  175. * */
  176. public List<String> lrange_list(String key, int start, int end) {
  177. return jedis.lrange(key, start, end);
  178. }
  179.  
  180. /**
  181. * @describe 获取key所对应的list的第index个元素(List)
  182. * @param index 附:index从0开始算起
  183. * @return 返回key所对应的list的第index个元素
  184. * */
  185. public String lindex_list(String key, int index) {
  186. return jedis.lindex(key, index);
  187. }
  188.  
  189. /**
  190. * @describe 给key所对应的list的第index元素赋值(List)
  191. * @param index 附:index从0开始算起且index的取值在list的长度范围之内
  192. * */
  193. public void lset_list(String key, int index, String value) {
  194. jedis.lset(key, index, value);
  195. }
  196.  
  197. /**
  198. * @describe 删除key对应的list的首元素并返回该元素(List)
  199. * @return 返回被删除的元素
  200. * */
  201. public String lpop_list(String key) {
  202. return jedis.lpop(key);
  203. }
  204.  
  205. /**
  206. * @describe 删除key对应的list的尾元素并返回该元素(List)
  207. * @return 返回被删除的元素
  208. * */
  209. public String rpop_list(String key) {
  210. return jedis.rpop(key);
  211. }
  212.  
  213. /*
  214. * ############################### Set ###############################
  215. * */
  216.  
  217. /**
  218. * @describe 往REDIS中存放数据(Set)
  219. * @return 返回存放的元素个数
  220. * */
  221. public long sadd_set(String key, String[] elements) {
  222. return jedis.sadd(key, elements);
  223. }
  224.  
  225. /**
  226. * @describe 删除key对应的value中的elements元素(Set)
  227. * @return 返回删除的元素个数
  228. * */
  229. public long srem_set(String key, String[] elements) {
  230. return jedis.srem(key, elements);
  231. }
  232.  
  233. /**
  234. * @describe 获取key对应的value的元素个数(Set)
  235. * @return 返回key对应的value的元素个数
  236. * */
  237. public long scard_set(String key) {
  238. return jedis.scard(key);
  239. }
  240.  
  241. /**
  242. * @describe element是否是key对应的value中的元素(Set)
  243. * @return true|false
  244. * */
  245. public boolean sismember_set(String key, String element) {
  246. return jedis.sismember(key, element);
  247. }
  248.  
  249. /**
  250. * @describe 获取多个key即keys的交集(Set)
  251. * @return 返回keys的交集
  252. * */
  253. public Set<String> sinter_set(String[] keys) {
  254. return jedis.sinter(keys);
  255. }
  256.  
  257. /*
  258. * ############################### Hash ###############################
  259. * */
  260.  
  261. /**
  262. * @describe 向名称为key的hash中添加filed,其field与value是一对键值对(Hash)
  263. * */
  264. public void hset_hash(String key, String field, String value) {
  265. jedis.hset(key, field, value);
  266. }
  267.  
  268. /**
  269. * @describe 获取key下的hash中filed所对应的value值(Hash)
  270. * @return value
  271. * */
  272. public String hget_hash(String key, String field) {
  273. return jedis.hget(key, field);
  274. }
  275.  
  276. /**
  277. * @describe 获取key下的hash中filed所对应的value值(多个field,因此返回List结果集)(Hash)
  278. * @return value
  279. * */
  280. public List<String> hmget_hash(String key, String[] fields) {
  281. return jedis.hmget(key, fields);
  282. }
  283.  
  284. /**
  285. * @describe 往key中存储一个map对象(Hash)
  286. * @return OK
  287. * */
  288. public String hmset_hash(String key, Map<String, String> hash) {
  289. return jedis.hmset(key, hash);
  290. }
  291.  
  292. /**
  293. * @describe 名称为key的hash中是否存在键为field的域(Hash)
  294. * @return true false
  295. * */
  296. public boolean hexists_hash(String key, String field) {
  297. return jedis.hexists(key, field);
  298. }
  299.  
  300. /**
  301. * @describe 删除名称为key的hash中键为field的域(Hash)
  302. * @return 返回删除的个数
  303. * */
  304. public long hdel_hash(String key, String[] fields) {
  305. return jedis.hdel(key, fields);
  306. }
  307.  
  308. /**
  309. * @describe 返回名称为key的hash中元素个数(Hash)
  310. * @return 返回key对应的hash的元素个数
  311. * */
  312. public long hlen_hash(String key) {
  313. return jedis.hlen(key);
  314. }
  315.  
  316. /**
  317. * @describe 返回名称为key的hash中所有键即field(Hash)
  318. * @return 返回Set结果集
  319. * */
  320. public Set<String> hkeys_hash(String key) {
  321. return jedis.hkeys(key);
  322. }
  323.  
  324. /**
  325. * @describe 返回名称为key的hash中所有键对应的value(Hash)
  326. * @return 返回List结果集
  327. * */
  328. public List<String> hkeys_hvals(String key) {
  329. return jedis.hvals(key);
  330. }
  331.  
  332. /**
  333. * @describe 返回名称为key的hash中所有的键(field)及其对应的value(Hash)
  334. * @return 返回Map结果集
  335. * */
  336. public Map<String, String> hgetall_hash(String key) {
  337. return jedis.hgetAll(key);
  338. }
  339.  
  340. /**
  341. * @describe 自定义引用JEDIS内置方法
  342. * @category 由于有些方法不是很常用,所以定义此方法,方便调用其他本类未定义方法
  343. * */
  344. public Jedis getJedis() {
  345. return jedis;
  346. }
  347. }

 

芸芸众生,我只是一个码农,我正在努力的一步一个台阶。。。

改编至:http://www.cnblogs.com/edisonfeng/p/3571870.html

java对于Redis中jedis的操作的更多相关文章

  1. Redis中的持久化操作

       本篇博客主要来解说一下怎样Redis中的持久化操作,当然了不是一篇理论性的博客,主要还是分享一下在redis中怎样来配置持久化操作.  1.介绍  redis为了内部数据的安全考虑,会把本身的数 ...

  2. Java 从 Redis中取出的Json字符串 带斜杠的问题解决方案

    Java 从 Redis中取出的Json字符串 带斜杠的问题: { "code": 200, "message": "成功", " ...

  3. java连接redis中的数据查、增、改、删操作的方法

    package com.lml.redis; import java.util.HashMap;import java.util.Iterator;import java.util.Map;impor ...

  4. Redis学习存档(2)——通过Java使用Redis:Jedis

    一.创建项目,引入jedis jar包 可在百度搜索maven repository 进入后搜索jedis,复制依赖包到pom.xml文件中 <project xmlns="http: ...

  5. Java连接redis之Jedis使用

    测试联通 创建Maven工程,引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId&g ...

  6. java连接Redis初始化jedis失败!

    Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstant ...

  7. java连接redis使用jedis带密码

    一.引入jedis的Maven配置文件 <!-- redis连接客户端jedis --> <dependency> <groupId>redis.clients&l ...

  8. java 向Redis中存放数据 List<Device>转String

    /** * redis服务 */ @Autowired private RedisService redisService; //创建 Device  对象 Device no = new Devic ...

  9. redis中使用 check-and-set 操作实现乐观锁

    WATCH 命令可以为 Redis 事务提供 check-and-set (CAS)行为. 被 WATCH 的键会被监视,并会发觉这些键是否被改动过了. 如果有至少一个被监视的键在 EXEC 执行之前 ...

随机推荐

  1. 如何指定安装webpack

    在此我要推荐webpack简易学习教程:https://www.runoob.com/w3cnote/webpack-tutorial.html 大家可以参考这个菜鸟教程,但是这个菜鸟教程有其局限性, ...

  2. OC报错,after command failed: Directory not empty

    Directory not empty这个错误经常出现,出现的原因也很多,今天主要记录一下楼主自己碰到的这种情况. 全部错误提示: error: couldn't remove ‘路径/app-fzy ...

  3. 作为测试新手,web测试从何开始学起?

    我们先来弄清楚web测试的测试范围,通常web测试包含:功能测试.性能测试.浏览器兼容测试.安全测试以及用户界面测试等.那么,作为一个初级测试员或者实习测试员,最开始的能做的只能是功能测试和用户界面测 ...

  4. win8安装wampserver报403错误解决方法

    看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...

  5. 提示AttributeError: 'module' object has no attribute 'HTTPSHandler'解决方法

    今天在新机器上安装sqlmap,运行提示AttributeError: 'module' object has no attribute 'HTTPSHandler' 网上找了找资料,发现一篇文章ht ...

  6. C语言输入输出函数总结

    常见函数: FILE *p char ch char buf[max] fopen("filename","ab")//打开名为filename的文件并返回一个 ...

  7. 插入排序_c++

    插入排序_c++ GitHub 文解 插入排序的核心思想是针对于 N 个元素进行排序时,共进行 K = (N-1) 次排序,第 M 次排序时将第 M + 1 个元素插入前 M 个元素中进行排序. 图解 ...

  8. mybatis传单个参数,和<if>标签同时使用的问题

    // Mapper.java EmerEvent selectByAlarmId(Integer alarmId); // Mapper.xml <select id="selectB ...

  9. Java之环境变量配置

    1.首先安装Java的JDK(Java开发工具包 包含JRE(Java运行环境))下载地址URL:www.oracle.com (64位或32位) 安装:傻瓜式安装(点击下一步即可)中间可更改安装目录 ...

  10. Thinkphp5 使用composer中seeder播种机

    前因: 前几天,客户要求做一个会员问答的系统,我就按流程做了,到了需要调用数据库数据时,觉得一个个添加又有点笨~ 解决过程: 后来查了查手册,看看国外blog案例,我搞出来了个不错的方法~~~ 我的使 ...