• redis常用命令


    KEY
    • expires
    • keys *
    • ttl
    • pttl :返回毫秒
    • persist : 取消过期时间
    • exists
    • del
    • dump : 序列化给定的key
    String
    • set
    • get
    • mset
    • mget
    • strlen : 查看字符串总长度
    • setnx
    • setex
    • getset : 获取并设置
    • psetex : 设置过期时间,单位毫秒
    • decr
    • decrby
    • incr
    • incrby
    • incrbyfolat
    • getbit
    • setbit
    • bitcount : 统计位数
    • append : 存在追加,不存在创建
    • getrange : 截取字符串
    • setrange : 设置字符串
    • msetnx
    List
    • lpush
    • rpush
    • lpop
    • rpop
    • lrange
    • lindex : 获取指定索引的值
    • ltrim : 截取List
    • llen : 长度
    • blpop : 阻塞式弹出
    Set
    • sadd
    • smembers
    • srandmember : 随机返回一个元素
    • spop : 随机返回并 出栈
    • sdiff
    • sinter
    • sunion
    • sdiffstore
    • sinterstore
    • sunionstore
    • scard : 元素的个数
    • srem : 移除某一个
    • smove : 将一个元素,,从一个集合移动到 另一个集合
    • sismember: 是否在这个集合中
    Hash
    • hset
    • hget
    • hmset
    • hmget
    • hkeys
    • hvals
    • hgetalls
    • hsetnx
    • hexists : 是否存在这个字段
    • hincrby
    • hincrbyfloat
    • hdel : 删除某个filed
    • hlen : map的长度
    • hstrlen : 对应field 的value 的长度
    ZSet
    • zadd
    • zrange
    • zrangebyscore
    • zcard : 根据member统计个数
    • zcount : 根据score统计个数
    • zlexcount : zlexcount k1 - + zlexcount k1 [v2 [v4 统计两个成员之间的数量 -:表示最小值,+:表示最大值
    • zrangebylex : 返回指定member区间类的成员
    • zinterstore : 求交集,,存入第三个集合,,相同的member会求和
    • zscore : 获取某个member的score
    • zrem : 弹出一个元素
    • zrevrange : 倒序
    • zrank : 排名
    • zrevrank : 排名倒序
    • zincrby
    Jedis使用

    导包:

    <dependency>
        <groupId>redis.clientsgroupId>
        <artifactId>jedisartifactId>
        <version>3.2.0version>
        <type>jartype>
        <scope>compilescope>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    public class MyJedis {
        public static void main(String[] args) {
            // 构造jedis对象
            Jedis jedis = new Jedis("localhost", 6379);
            // 密码认证
            jedis.auth("123");
    
            String ping = jedis.ping();
            System.out.println("ping = " + ping);
    
    //        jedis.hmset()
            // jedis中  方法的API 和 redis命令 高度一致,,所以jedis方法 见名知意
    
        }
    
        @Test
        public void test01(){
    
            // 构造一个 jedis 连接池
            JedisPool jedisPool = new JedisPool("localhost", 6379);
    
            // 从连接池中获取 jedis
            Jedis jedis = jedisPool.getResource();
    
            // 如果在这段发生了异常,,那么 Jedis 无法归还连接
            String ping = jedis.ping();
            System.out.println("ping = " + ping);
    
            // 归还连接
            jedis.close();
        }
        
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    改造:

    public class Redis {
        private JedisPool jedisPool;
    
        public Redis() {
            GenericObjectPoolConfig config = new GenericObjectPoolConfig();
            // 连接池最大空闲数
            config.setMaxIdle(300);
            // 最大连接数
            config.setMaxTotal(1000);
            // 最大等待时间 ,, -1 表示没有限制
            config.setMaxWaitMillis(30000);
            // 在空闲时检查有效性 ?????
            config.setTestOnBorrow(true);
    
           this.jedisPool =  new JedisPool(config,"localhost",6379,3000,"123");
        }
    
    
    
        void execute(CallWithJedis callWithJedis){
            try(Jedis jedis = jedisPool.getResource()){
                callWithJedis.call(jedis);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    /**
     * 调用jedis 执行的具体方法
     */
    public interface CallWithJedis {
        void call(Jedis jedis);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    小菜鸟河北联通上岗培训随笔
    【2024最新】4000字搞懂sora!一张脑图贯穿!
    Merkle Tree 简介
    《DevOps实践指南》笔记:第3章
    火山引擎DataLeap的数据血缘用例与设计概述
    Mac M2芯片配置PHP环境
    基于springboot的国际化解决方案
    基于javaweb的oa办公管理系统(java+layui+ssm+mysql+jsp+html)
    测试架构师如何落地性能测试方案(二)
    中国智能交通系统行业市场全景调研与发展前景预测报告
  • 原文地址:https://blog.csdn.net/qq_36022463/article/details/127919192