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
posted @ 2020-01-17 17:06  我是段先森  阅读(126)  评论(0编辑  收藏  举报