zoukankan      html  css  js  c++  java
  • redis基础操作

    /**
     * redis的Java客户端Jedis测试验证
     *
     * @author
     */
    public class Test {
      /**
       * 非切片客户端链接
       */
      private Jedis jedis;
      /**
       * 非切片链接池
       */
      private JedisPool jedisPool;
      /**
       * 切片客户端链接
       */
      private ShardedJedis shardedJedis;
      /**
       * 切片链接池
       */
      private ShardedJedisPool shardedJedisPool;
                                         
      private String ip = "172.16.205.186";
      /**
       * 构造函数
       */
      public Test() {
        initialPool();
        initialShardedPool();
        shardedJedis = shardedJedisPool.getResource();
        jedis = jedisPool.getResource();
      }
      private void initialPool() {
        // 池基本配置
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxActive(20);
        config.setMaxIdle(5);
        config.setMaxWait(1000l);
        config.setTestOnBorrow(false);
        jedisPool = new JedisPool(config, ip, 6379);
      }
      /**
       * 初始化切片池
       */
      private void initialShardedPool() {
        // 池基本配置
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxActive(20);
        config.setMaxIdle(5);
        config.setMaxWait(1000l);
        config.setTestOnBorrow(false);
        // slave链接
        List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
        shards.add(new JedisShardInfo(ip, 6379, "master"));
        // 构造池
        shardedJedisPool = new ShardedJedisPool(config, shards);
      }
      public void show() {
        // key检测
        testKey();
        // string检测
        testString();
        // list检测
        testList();
        // set检测
        testSet();
        // sortedSet检测
        testSortedSet();
        // hash检测
        testHash();
        shardedJedisPool.returnResource(shardedJedis);
      }
      private void testKey() {
        System.out.println("=============key==========================");
        // 清空数据
        System.out.println(jedis.flushDB());
        System.out.println(jedis.echo("foo"));
        // 判断key否存在
        System.out.println(shardedJedis.exists("foo"));
        shardedJedis.set("key", "values");
        System.out.println(shardedJedis.exists("key"));
      }
      private void testString() {
        System.out.println("=============String==========================");
        // 清空数据
        System.out.println(jedis.flushDB());
        // 存储数据
        shardedJedis.set("foo", "bar");
        System.out.println(shardedJedis.get("foo"));
        // 若key不存在,则存储
        shardedJedis.setnx("foo", "foo not exits");
        System.out.println(shardedJedis.get("foo"));
        // 覆盖数据
        shardedJedis.set("foo", "foo update");
        System.out.println(shardedJedis.get("foo"));
        // 追加数据
        shardedJedis.append("foo", " hello, world");
        System.out.println(shardedJedis.get("foo"));
        // 设置key的有效期,并存储数据
        shardedJedis.setex("foo", 2, "foo not exits");
        System.out.println(shardedJedis.get("foo"));
        try {
          Thread.sleep(3000);
        } catch (InterruptedException e) {
        }
        System.out.println(shardedJedis.get("foo"));
        // 获取并更改数据
        shardedJedis.set("foo", "foo update");
        System.out.println(shardedJedis.getSet("foo", "foo modify"));
        // 截取value的值
        System.out.println(shardedJedis.getrange("foo", 1, 3));
        System.out.println(jedis.mset("mset1", "mvalue1", "mset2", "mvalue2",
            "mset3", "mvalue3", "mset4", "mvalue4"));
        System.out.println(jedis.mget("mset1", "mset2", "mset3", "mset4"));
        System.out.println(jedis.del(new String[] { "foo", "foo1", "foo3" }));
      }
      private void testList() {
        System.out.println("=============list==========================");
        // 清空数据
        System.out.println(jedis.flushDB());
        // 添加数据
        shardedJedis.lpush("lists", "vector");
        shardedJedis.lpush("lists", "ArrayList");
        shardedJedis.lpush("lists", "LinkedList");
        // 数组长度
        System.out.println(shardedJedis.llen("lists"));
        // 排序
    //	  System.out.println(shardedJedis.sort("lists"));
        // 字串
        System.out.println(shardedJedis.lrange("lists", 0, 3));
        // 修改列表中单个值
        shardedJedis.lset("lists", 0, "hello list!");
        // 获取列表指定下标的值
        System.out.println(shardedJedis.lindex("lists", 1));
        // 删除列表指定下标的值
        System.out.println(shardedJedis.lrem("lists", 1, "vector"));
        // 删除区间以外的数据
        System.out.println(shardedJedis.ltrim("lists", 0, 1));
        // 列表出栈
        System.out.println(shardedJedis.lpop("lists"));
        // 整个列表值
        System.out.println(shardedJedis.lrange("lists", 0, -1));
      }
      private void testSet() {
        System.out.println("=============set==========================");
        // 清空数据
        System.out.println(jedis.flushDB());
        // 添加数据
        shardedJedis.sadd("sets", "HashSet");
        shardedJedis.sadd("sets", "SortedSet");
        shardedJedis.sadd("sets", "TreeSet");
        // 判断value是否在列表中
        System.out.println(shardedJedis.sismember("sets", "TreeSet"));
        ;
        // 整个列表值
        System.out.println(shardedJedis.smembers("sets"));
        // 删除指定元素
        System.out.println(shardedJedis.srem("sets", "SortedSet"));
        // 出栈
        System.out.println(shardedJedis.spop("sets"));
        System.out.println(shardedJedis.smembers("sets"));
        //
        shardedJedis.sadd("sets1", "HashSet1");
        shardedJedis.sadd("sets1", "SortedSet1");
        shardedJedis.sadd("sets1", "TreeSet");
        shardedJedis.sadd("sets2", "HashSet2");
        shardedJedis.sadd("sets2", "SortedSet1");
        shardedJedis.sadd("sets2", "TreeSet1");
        // 交集
        System.out.println(jedis.sinter("sets1", "sets2"));
        // 并集
        System.out.println(jedis.sunion("sets1", "sets2"));
      // 差集
      System.out.println(jedis.sdiff("sets1", "sets2"));
      }
    private void testSortedSet() {
      System.out.println("=============zset==========================");
    // 清空数据
      System.out.println(jedis.flushDB());
    // 添加数据
      shardedJedis.zadd("zset", 10.1, "hello");
      shardedJedis.zadd("zset", 10.0, ":");
      shardedJedis.zadd("zset", 9.0, "zset");
      shardedJedis.zadd("zset", 11.0, "zset!");
    // 元素个数
      System.out.println(shardedJedis.zcard("zset"));
    // 元素下标
      System.out.println(shardedJedis.zscore("zset", "zset"));
    // 集合子集
      System.out.println(shardedJedis.zrange("zset", 0, -1));
    // 删除元素
      System.out.println(shardedJedis.zrem("zset", "zset!"));
      System.out.println(shardedJedis.zcount("zset", 9.5, 10.5));
    // 整个集合值
      System.out.println(shardedJedis.zrange("zset", 0, -1));
      }
    private void testHash() {
      System.out.println("=============hash==========================");
    // 清空数据
      System.out.println(jedis.flushDB());
    // 添加数据
      shardedJedis.hset("hashs", "entryKey", "entryValue");
      shardedJedis.hset("hashs", "entryKey1", "entryValue1");
      shardedJedis.hset("hashs", "entryKey2", "entryValue2");
    // 判断某个值是否存在
      System.out.println(shardedJedis.hexists("hashs", "entryKey"));
    // 获取指定的值
      System.out.println(shardedJedis.hget("hashs", "entryKey"));
    // 批量获取指定的值
      System.out
      .println(shardedJedis.hmget("hashs", "entryKey", "entryKey1"));
    // 删除指定的值
      System.out.println(shardedJedis.hdel("hashs", "entryKey"));
    // 为key中的域 field 的值加上增量 increment
      System.out.println(shardedJedis.hincrBy("hashs", "entryKey", 123l));
    // 获取所有的keys
      System.out.println(shardedJedis.hkeys("hashs"));
    // 获取所有的values
      System.out.println(shardedJedis.hvals("hashs"));
      }
    /**
       * @param args
       */
    public static void main(String[] args) {
    new Test().show();
      }
    }
  • 相关阅读:
    创建异步Web服务
    MCAD考试计划
    微软面试题
    Reborn
    Qt项目注意事项
    在ASP.Net中两种利用CSS实现多界面
    为ASP.NET控件添加常用的JavaScript操作
    用Split函数分隔字符串
    Microsoft .NET Pet Shop 4.0
    搞定QString,string,char*,CString的互转
  • 原文地址:https://www.cnblogs.com/qypx520/p/5867835.html
Copyright © 2011-2022 走看看