• java操作redis


    redis是个很优秀的缓存系统,简单来说有以下几个特点

    1  Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

    2  Redis支持数据的备份,即master-slave模式的数据备份。

    3  Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

    redis的基本操作不复杂,上手很快,一两天就可以很熟悉

    下面要说的就是用java去操作redis,需要引入jedis-2.1.0.jar这个包,这个是官方推荐的java操作redis的客户端

    然后就可以开始redis之旅了

    1 首先要创建一个连接池

    1     JedisPoolConfig config = new JedisPoolConfig(); 
    2         config.setMaxActive(20); 
    3         config.setMaxIdle(5); 
    4         config.setMaxWait(1000l); 
    5         config.setTestOnBorrow(false); 
    6         
    7         jedisPool = new JedisPool(config,"127.0.0.1",6379);

    6379是默认端口,可以不写,对于连接池的配置都可以在JedisPoolConfig这个类里面配置

    2 从连接池获取一个Jedis对象,这个才是真正跟redis交互的对象

      Jedis jedis = jedisPool.getResource(); 

    3然后就可以用Jedisl里面的方法了,基本上跟redis交互的方法都有,下面列出的就是基本的方法

     1     public void show() {   
     2 
     3         //设置值
     4         jedis.set("name", "测试abcd");
     5         
     6         System.out.println(jedis.get("name"));
     7         //截取字符串,中文占三个字节
     8              System.out.println(jedis.substr("name", 0, 5));
     9 
    10         
    11              //设置list
    12          jedis.rpush("list", "3","2","1");
    13 
    14          
    15         //取出list的所有值
    16         List<String> list=  jedis.lrange("list", 0, -1);
    17         for (String string : list) {
    18         System.out.println(string);
    19        }
    20         
    21         //-----对list排序----
    22         
    23         List<String> sortlist=  jedis.sort("list");
    24         
    25        for (String string : sortlist) {
    26              System.out.println(string);
    27        }
    28         
    29        //-----排序然后取前几位 分页使用----
    30        
    31         SortingParams sortingParams=new SortingParams();
    32         sortingParams.desc();
    33         sortingParams.limit(0, 3);
    34         
    35         List<String> list2=  jedis.sort("list", sortingParams);
    36         
    37        jedis.sort("list", sortingParams,"list2");       
    38        
    39         for (String string : list2) {
    40              System.out.println(string);
    41         }
    42         
    43         
    44        //----设置hash----
    45         
    46        jedis.hset("car", "name", "汽车");
    47        jedis.hset("car", "price", "10");
    48        jedis.hset("car", "life", "1");
    49         
    50        //----遍历hash的key----
    51 
    52       Set<String> set = jedis.hkeys("car");
    53       for (String string : set) {
    54         System.out.println(string);
    55     }
    56       
    57        //----遍历hash的value----
    58 
    59      List<String> carlist = jedis.hvals("car");
    60       for (String string : carlist) {
    61           System.out.println(string);
    62       }
    63         //----查看所有的key----
    64        Set<String> keys = jedis.keys("*"); 
    65        Iterator<String> it=keys.iterator() ;   
    66        while(it.hasNext()){   
    67            String key = it.next();   
    68            System.out.println(key);   
    69        }
    70        
    71      //操作完成之后记得把jedis放回jedisPool池中
    72        jedisPool.returnResource(jedis);
    73 
    74     } 
    View Code

    附件里面包含redis的编译过的安装包,最好在linux或者mac上面安装,还有jedis包跟源码包 

    附件链接http://pan.baidu.com/s/1hqABVlM 

  • 相关阅读:
    linux 配置文件.conf 非打印字符出错的研究(一)
    Python:Relative import 相对路径 ValueError: Attempted relative import in non-package
    GitHub desktop 管理 gitee 私有库
    python enumerate ,range下标迭代
    everything http服务器局域网不能访问 // Windows evething http server connect timeout in lan
    python install jnius, sikuli ;Exception: Unable to determine JDK_HOME
    sublime3 自定义 修改 颜色主题 配色方案
    python K线 蜡烛图
    IOError: [Errno 22] invalid mode ('rb') or filename: ’u202a’ / 'xe2x80xaa’
    [资源]汇集最有用的PHP资源
  • 原文地址:https://www.cnblogs.com/xiaolai/p/3966009.html
Copyright © 2020-2023  润新知