zoukankan      html  css  js  c++  java
  • Redis:jedis操作Redis

    什么是jedis?

      是Redis官方推荐的java链接开发工具,使用java操作Redis的中间件!如果要使用java操作Redis,那么一定要对jedis十分熟悉

    1,导入相关依赖

        <!--导入jedis的包-->
        <dependencies>
            <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>3.2.0</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.73</version>
            </dependency>
        </dependencies>

    2,编码测试

    连接Redis数据库

    public class TestPing {
        public static void main(String[] args) {
            //1.new jedis 对象即可
            Jedis jedis = new Jedis("127.0.0.1",6379);
            //2.jedis所有的命令就是官文的操作指令
    
            System.out.println(jedis.ping());
        }
    }

    输出:(连接成功)

    3.常用API

    String

    List

    Set(具有数据的交叉并)

    Hash

    Zset

    三大特殊数据类型:geospatial(地址空间类型) hyperloglog(基数) bitmap(位存储)

    4,用jedis写一个事务demo

    //reids事务demo
    public class TestJedisTransaction {
        public static void main(String[] args) {
            Jedis jedis = new Jedis("127.0.0.1", 6379);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("hello","World1");
            jsonObject.put("hello2","World2");
            jsonObject.put("hello3","龙神");
            //开启事务
            Transaction multi = jedis.multi();
            String result = jsonObject.toJSONString();
            try{
    
                multi.set("user1",result);
                multi.set("user2",result);
                int i = 1/0;
    
    
                multi.exec();//如果成功,执行事务
            }catch (Exception e){
                //由于redis没有原子性,所以用关闭事务的方式来模拟事务的的原子性
                multi.discard();//如果失败就放弃事务
                e.printStackTrace();
            }finally {
                System.out.println(jedis.get("user1"));
                System.out.println(jedis.get("user2"));
                jedis.close();//关闭连接
            }
        }
    }
  • 相关阅读:
    TechRoad_oneStep_0509
    TechRoad_0417
    [Network] 判断设备是否能访问 Internet
    云原生相关知识点
    Algorithm: 多项式乘法 Polynomial Multiplication: 快速傅里叶变换 FFT / 快速数论变换 NTT
    Mac下配置Apache服务器
    解决antdv 中input每输入一个字符就失去焦点
    *装饰者模式(Decorator)
    *单例模式(singleton)
    ubuntu20.04 线缆已拔出
  • 原文地址:https://www.cnblogs.com/CL-King/p/14586753.html
Copyright © 2011-2022 走看看