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();//关闭连接
        }
    }
}

 

posted @ 2021-03-28 19:33  凸然猿  阅读(61)  评论(0编辑  收藏  举报