zoukankan      html  css  js  c++  java
  • Redis常用的简单命令演示

    package redis;
    
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.SortingParams;
    
    public class RedisJava {
        
        /**
         * @param args
         */
        public static void main(String[] args) {
            Jedis jedis = new Jedis("localhost");
            System.out.println("连接redis:"+jedis.ping());
            redisHashTest(jedis);
            //redisSortedSetTest(jedis);
            //redisSetTest(jedis);
            //redisListTest(jedis);
            //redisStringTest(jedis);
        }
        
        public static void redisHashTest(Jedis jedis) {
            System.out.println("****************");
            //清理整个Redis
            jedis.flushDB();
            //添加元素
            jedis.hset("user", "name", "张三");
            jedis.hset("user", "sex", "男");
            jedis.hset("user", "age", "10");
            //输出所有值
            System.out.println("user:"+jedis.hvals("user"));
            System.out.println("****************");
            //删除某个键值
            jedis.hdel("user", "sex");
            System.out.println("user:"+jedis.hvals("user"));
            System.out.println("****************");
            //整型键值加数
            jedis.hincrBy("user", "age", 10);
            System.out.println("user:"+jedis.hvals("user"));
            System.out.println("****************");
            //判断某个键值是否存在
            System.out.println("user中是否存在age:"+jedis.hexists("user", "sex"));
            System.out.println("****************");
            //批量获取键值
            System.out.println("批量获取键值:"+jedis.hmget("user", "name","age"));
        }
        
        public static void redisSortedSetTest(Jedis jedis) {
            System.out.println("****************");
            //清理整个Redis
            jedis.flushDB();
            //添加元素
            jedis.zadd("score", 1.0, "100");
            jedis.zadd("score", 2.0, "90");
            jedis.zadd("score", 6.0, "80");
            jedis.zadd("score", 7.0, "70");
            jedis.zadd("score", 4.0, "60");
            System.out.println("score的元素:"+jedis.zrange("score", 0, -1));
            //删除元素
            jedis.zrem("score", "60");
            System.out.println("score的元素:"+jedis.zrange("score", 0, -1));
            //获取元素个数
            System.out.println("score的元素个数:"+jedis.zcard("score"));
            //获取指定权重的元素
            System.out.println("score的元素个数:"+jedis.zcount("score", 1.0, 3.0));
            //获取指定元素的权重
            System.out.println("80的权重:"+jedis.zscore("score", "80"));
            //获取指定下标的元素
            System.out.println("指定下标的元素:"+jedis.zrange("score", 1, 2));
        }
        
        public static void redisSetTest(Jedis jedis) {
            System.out.println("****************");
            //清理整个Redis
            jedis.flushDB();
            //添加元素
            jedis.sadd("num", "1");
            jedis.sadd("num", "2");
            jedis.sadd("num", "3");
            jedis.sadd("num", "4");
            jedis.sadd("num", "5");
            System.out.println("num的元素:"+jedis.smembers("num"));
            System.out.println("****************");
            //删除指定集合内元素
            jedis.srem("num", "3");
            System.out.println("num删除后的元素:"+jedis.smembers("num"));
            //判断某个元素是否在指定集合内
            System.out.println("4是否在num内:"+jedis.sismember("num", "4"));
            //交集并集
            jedis.sadd("code", "4");
            jedis.sadd("code", "5");
            jedis.sadd("code", "6");
            jedis.sadd("code", "7");
            jedis.sadd("code", "8");
            System.out.println("num与code的交集:"+jedis.sinter("num","code"));
            System.out.println("num与code的并集:"+jedis.sunion("num","code"));
            System.out.println("num与code的差集:"+jedis.sdiff("num","code"));
            
        }
        
        public static void redisListTest(Jedis jedis) {
            System.out.println("****************");
            //清理整个Redis
            jedis.flushDB();
            //添加到左边
            jedis.lpush("user", "李四");
            jedis.lpush("user", "张三");
            //添加到右边
            jedis.lpush("user", "王五");
            jedis.lpush("user", "赵六");
            //获取指定位置的元素,可以用于分页,-1获取所有,其他获取指定位置数
            System.out.println(jedis.lrange("user", 0, -1));
            System.out.println("****************");
            //删除最左边的元素
            jedis.lpop("user");
            //删除最右边的元素
            jedis.rpop("user");
            System.out.println("执行删除动作后的元素:"+jedis.lrange("user", 0, -1));
            System.out.println("****************");
            //删除重复元素个数,先添加的先删除
            jedis.lpush("user", "王五");
            jedis.lpush("user", "王五");
            jedis.lpush("user", "王五");
            System.out.println("执行删除动作前的user元素:"+jedis.lrange("user", 0, -1));
            System.out.println("****************");
            jedis.lrem("user", 3, "王五");
            System.out.println("执行删除动作后的user元素:"+jedis.lrange("user", 0, -1));
            System.out.println("****************");
            //删除指定区间外的元素
            jedis.rpush("num", "1");
            jedis.rpush("num", "2");
            jedis.rpush("num", "3");
            jedis.rpush("num", "4");
            jedis.rpush("num", "5");
            System.out.println("执行删除动作前的num元素:"+jedis.lrange("num", 0, -1));
            System.out.println("****************");
            jedis.ltrim("num", 1, 2);
            System.out.println("执行删除动作后的num元素:"+jedis.lrange("num", 0, -1));
            //更改列表中指定元素值
            jedis.lset("num", 1, "4");
            System.out.println("执行更改动作后的num元素:"+jedis.lrange("num", 0, -1));
            //获取list长度
            System.out.println("num集合长度:"+jedis.llen("num"));
            //获取下标为1的元素
            System.out.println("num中下标为1的元素"+jedis.lindex("num", 1));
            //排序
            jedis.rpush("num", "1");
            jedis.rpush("num", "5");
            jedis.rpush("num", "3");
            jedis.rpush("num", "6");
            System.out.println("排序前num的元素:"+jedis.lrange("num", 0, -1));
            SortingParams sortingParameters = new SortingParams();
            sortingParameters.alpha();
            sortingParameters.limit(0, -1);
            System.out.println("排序后num的元素:"+jedis.sort("num", sortingParameters));
        }
        
        public static void redisStringTest(Jedis jedis) {
            System.out.println("****************");
            //清理整个Redis
            jedis.flushDB();
            //存入键值对
            jedis.set("name", "张三");
            System.out.println("获取name:"+jedis.get("name"));
            System.out.println("****************");
            //判断键值是否存在
            System.out.println("判断name是否存在:"+jedis.exists("name"));
            //移除键值对
            jedis.del("name");
            //设置键值对失效时间为2秒
            jedis.expire("username", 2);
            try {
                Thread.sleep(3000);
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("3秒后username是否存在:"+jedis.exists("username"));
            System.out.println("****************");
            //查找某键值
            jedis.set("usersex", "男");
            Set<String> keys = jedis.keys("usersex");
            for (String key:keys) {
                System.out.println(key);
            }
            //查找某键值生存剩余时间
            System.out.println("键值usersex生存剩余时间:"+jedis.ttl("usersex"));
            System.out.println("****************");
            //一次性存入多个键值
            jedis.mset("user","张三","sex","男","age","6");
            //一次性获取多个键值
            System.out.println(jedis.mget("user","sex","age"));
            System.out.println("****************");
            //在原来的value后面进行追加
            jedis.append("user", "琪");
            System.out.println(jedis.mget("user","sex","age"));
            System.out.println("****************");
            //截取指定key的value
            System.out.println(jedis.getrange("user", 0, 2));
            //key值存在时添加,不存在时不处理
            jedis.setnx("user", "李四");
            
        }
        
        
        
        
    }
    View Code
  • 相关阅读:
    elastic-job详解(二):作业的调度
    elastic-job详解(一):数据分片
    定时任务的分布式调度
    HBase多条件及分页查询的一些方法
    TP6多应用模式配置
    Swoole WebSocket 服务端如何主动推送消息?
    mysql(多级分销)无限极数据库设计方法
    django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
    Centos7安装并配置Python3环境
    short url短链接原理
  • 原文地址:https://www.cnblogs.com/duanxiansen/p/12206677.html
Copyright © 2011-2022 走看看