1. redis介绍

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)

2. jar包准备

JAVA操作redis基本包:http://mvnrepository.com/artifact/redis.clients/jedis

如果需要使用redis连接池,还需要下载common-pool包:http://commons.apache.org/proper/commons-pool/download_pool.cgi

3. 程序结构目录

4. 测试源码

  1. package com.redis;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Set;
  6. import redis.clients.jedis.Jedis;
  7.  
  8. public class MyRedis {
  9. private Jedis jedis;
  10.  
  11. public void setup(){
  12. jedis = new Jedis("127.0.0.1", 6379);
  13. }
  14.  
  15. public void inst(){
  16. jedis.close();
  17. }
  18.  
  19. //清除所有数据
  20. public void clear(){
  21. Set<String> set = jedis.keys("*");
  22. for (String key : set) {
  23. jedis.del(key); //删除
  24. }
  25. }
  26.  
  27. //现实所有键名和类型
  28. public void show(){
  29. Set<String> set = jedis.keys("*");
  30. System.out.println("当前共用"+set.size()+"个数据,分别为:");
  31. for (String key : set) {
  32. System.out.println(key+"类型为"+jedis.type(key));
  33. }
  34. }
  35.  
  36. //redis处理字符串
  37. public void testString(){
  38. jedis.set("String", "LYC"); //添加数据
  39. System.out.println(jedis.get("String"));
  40. jedis.append("String", " LOVE BYQ"); //拼接字符串
  41. System.out.println(jedis.get("String"));
  42.  
  43. jedis.mset("userName", "LYC", "passWord", "-+", "age", "28"); //添加多条
  44. System.out.println("userName:"+jedis.get("userName"));
  45. System.out.println("passWord:"+jedis.get("passWord"));
  46. System.out.println("age:"+jedis.get("age"));
  47.  
  48. jedis.incr("age"); //加一
  49. System.out.println("age:"+jedis.get("age"));
  50. jedis.incrBy("age", 2); //加二
  51. System.out.println("age:"+jedis.get("age"));
  52. jedis.incrByFloat("age", 3.5f);
  53. System.out.println("age:"+jedis.get("age"));
  54.  
  55. }
  56.  
  57. //redis处理Map
  58. public void testMap(){
  59. Map<String, String> map = new HashMap<String, String>();
  60. map.put("userName", "LYC");
  61. map.put("passWord", "-+");
  62. map.put("age", "28");
  63. jedis.hmset("user1", map); //添加map数据
  64. System.out.println(jedis.hmget("user1", "userName", "passWord", "age")); //注意hmget返回的是List<String>
  65. jedis.hdel("user1", "passWord"); //删除map中的某个键值
  66. System.out.println(jedis.hmget("user1", "userName", "passWord", "age")); //注意hmget返回的是List<String>
  67. jedis.hset("user1", "passWord", "*#");
  68. System.out.println(jedis.hmget("user1", "userName", "passWord", "age")); //注意hmget返回的是List<String>
  69. System.out.println(jedis.hlen("user1")); //返回key为user1的键中存放的值的个数
  70. System.out.println(jedis.exists("user1"));//是否存在key为user1的记录
  71. System.out.println(jedis.hkeys("user1"));//返回map对象中的所有key
  72. System.out.println(jedis.hvals("user1"));//返回map对象中的所有value
  73. }
  74.  
  75. //redis处理List
  76. public void testList(){
  77. jedis.lpush("userList1", "张三"); //添加List数据
  78. jedis.lpush("userList1", "李四"); //添加List数据
  79. jedis.lpush("userList1", "王五"); //添加List数据
  80. //读取List数据。第一个是key;第二个是起始位置;第三个是结束位置, -1表示取得所有。
  81. System.out.println(jedis.lrange("userList1", 0, -1)); //
  82.  
  83. jedis.rpush("userList2", "张三"); //添加List数据
  84. jedis.rpush("userList2", "李四"); //添加List数据
  85. jedis.rpush("userList2", "王五"); //添加List数据
  86. System.out.println(jedis.lrange("userList2", 0, -1));
  87.  
  88. jedis.rpush("sort", "2"); //添加List数据
  89. jedis.rpush("sort", "3"); //添加List数据
  90. jedis.rpush("sort", "1"); //添加List数据
  91. System.out.println(jedis.lrange("sort", 0, -1));
  92. jedis.sort("sort"); //排序
  93. System.out.println(jedis.lrange("sort", 0, -1));
  94. }
  95.  
  96. //redis处理集合
  97. public void testSet(){
  98. jedis.sadd("userSet", "张三"); //添加set数据
  99. jedis.sadd("userSet", "李四"); //添加set数据
  100. jedis.sadd("userSet", "王五"); //添加set数据
  101. jedis.sadd("userSet", "某人"); //添加set数据
  102. System.out.println(jedis.smembers("userSet"));
  103. jedis.srem("userSet", "某人");
  104. System.out.println(jedis.smembers("userSet"));
  105.  
  106. System.out.println(jedis.sismember("userSet", "赵六")); //判断 赵六 是否是userSet集合的元素
  107. System.out.println(jedis.srandmember("userSet")); //随机获取集合中一个元素
  108. System.out.println(jedis.srandmember("userSet")); //随机获取集合中一个元素
  109. System.out.println(jedis.srandmember("userSet")); //随机获取集合中一个元素
  110. System.out.println(jedis.scard("userSet"));
  111. }
  112. }
  1. package com.redis;
  2.  
  3. public class TestMain {
  4. public static void main(String[] args) {
  5. MyRedis myRedis = new MyRedis();
  6. myRedis.setup();
  7. myRedis.clear();
  8. myRedis.show();
  9. System.out.println("------------testString------------");
  10. myRedis.testString();
  11. System.out.println("------------testMap------------");
  12. myRedis.testMap();
  13. System.out.println("------------testList------------");
  14. myRedis.testList();
  15. System.out.println("------------testSet------------");
  16. myRedis.testSet();
  17. System.out.println("------------Over------------");
  18. myRedis.show();
  19. myRedis.clear();
  20. myRedis.inst();
  21. }
  22. }

打印结果为:

  1. 当前共用0个数据,分别为:
  2. ------------testString------------
  3. LYC
  4. LYC LOVE BYQ
  5. userName:LYC
  6. passWord:-+
  7. age:
  8. age:
  9. age:
  10. age:34.5
  11. ------------testMap------------
  12. [LYC, -+, ]
  13. [LYC, null, ]
  14. [LYC, *#, ]
  15.  
  16. true
  17. [passWord, userName, age]
  18. [LYC, , *#]
  19. ------------testList------------
  20. [王五, 李四, 张三]
  21. [张三, 李四, 王五]
  22. [, , ]
  23. [, , ]
  24. ------------testSet------------
  25. [某人, 王五, 李四, 张三]
  26. [王五, 李四, 张三]
  27. false
  28. 李四
  29. 张三
  30. 张三
  31.  
  32. ------------Over------------
  33. 当前共用9个数据,分别为:
  34. sort类型为list
  35. userSet类型为set
  36. String类型为string
  37. age类型为string
  38. user1类型为hash
  39. userList1类型为list
  40. userName类型为string
  41. userList2类型为list
  42. passWord类型为string

redis(二)----基本操作的更多相关文章

  1. java对redis的基本操作,ZZ

    java对redis的基本操作 http://www.cnblogs.com/edisonfeng/p/3571870.html

  2. java 连接redis 以及基本操作

    一.首先下载安装redis 二.项目搭建 1.搭建一个maven 工程 2. 在pom.xml文件的dependencies节点下增加如下内容: <!-- resis --> <de ...

  3. 分布式数据存储 之 Redis(二) —— spring中的缓存抽象

    分布式数据存储 之 Redis(二) -- spring中的缓存抽象 一.spring boot 中的 StringRedisTemplate 1.StringRedisTemplate Demo 第 ...

  4. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

  5. java对redis的基本操作

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

  6. python下redis的基本操作:

    1. 基本操作: >>> import redis >>> print redis.__file__ /usr/local/lib/python2.7/dist-p ...

  7. java对redis的基本操作(初识)

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

  8. java对redis的基本操作(一)

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

  9. Redis(二十一):Redis性能问题排查解决手册(转)

    性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息.通过这些信息来分析文章后面提到的一些性能指标. info命令输出的数 ...

  10. java加载redis以及基本操作

    前言: Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server).Redis的键值可以包括字符串(st ...

随机推荐

  1. 外网如何访问 Service?【转】

    除了 Cluster 内部可以访问 Service,很多情况我们也希望应用的 Service 能够暴露给 Cluster 外部.Kubernetes 提供了多种类型的 Service,默认是 Clus ...

  2. 51nod 1441:士兵的数字游戏

    1441 士兵的数字游戏 题目来源: CodeForces 基准时间限制:4 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  取消关注 两个士兵正在玩一个游戏,游戏开始的时 ...

  3. vue - 子组件向父组件 传递方法和参数

    1,子组件 TodoItem.vue  : <template>   <div class="todo-item" :class="{'is-compl ...

  4. 【LeetCode】加油站

    [问题]在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中 ...

  5. PHP代码审计之入门实战

    系统介绍 CMS名称:新秀企业网站系统PHP版 官网:www.sinsiu.com 版本:这里国光用的1.0 正式版 (官网最新的版本有毒,网站安装的时候居然默认使用远程数据库???迷之操作 那站长的 ...

  6. ip 在网络传输中是如何传递的

    前言 ip 我们知道有ip4与ip6.ip6还未实行,那么就暂且不谈. ip4我们在传递的时候一般是这样的"127.0.0.1",但是我们传输的是信号,也就是二进制数据,这个字符如 ...

  7. Service总结

    Service Service的应用场景,以及和Thread区别 开启Service的两种方式以及区别 Service基础 Service是什么? Service(服务)是一个可以在后台长时间运行而没 ...

  8. Golang的选择结构-if语句

    Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...

  9. centos yum安装redis,nginx

    先安装源 yum install epel-release 之后 分别安装redis,nginx

  10. Si7006主要面向传统上使用的分立RH / T传感器的低精度的应用

    Silicon Labs的Si7006 / 13/20/21个I 2 C相对湿度及温度传感器结合充分工厂校准湿度和温度传感器元件与模拟-数字转换器,信号处理和一个I 2 C主机接口.专利使用业界标准低 ...