09-jedis操作redis

jedis 是redis官方推荐的java连接开发工具。

  • pom依赖
    <dependencies>
        <!-- jedis客户端 -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.2.0</version>
        </dependency>
        <!-- fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>
    </dependencies>
    
    <build>
        <!--标识打出来jar的名称-->
        <finalName>redis-test-01</finalName>
        <!-- 指定maven的jdk版本 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  • 测试类
    public class RedisTest01 {
        public static void main(String[] args) {
            String host = "127.0.0.1";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
            String pong = jedis.ping();
            System.out.println(pong); //返回PONG
            /************key的相关操作*********************/
            System.out.println("清空数据:" + jedis.flushDB()); //flushDB清空当前db flushAll()清空整个redis
            System.out.println("判断某个key是否存在" + jedis.exists("username")); //返回false 不存在
            System.out.println("新增<'username', 'zhangsan'的键值对'>" + jedis.set("username", "zhangsan"));
            System.out.println("新增<'password', '12345'>" + jedis.set("password", "12345"));
            System.out.println("当前db的所有的key值如下");
            Set<String> keySet = jedis.keys("*");
            System.out.println(JSON.toJSONString(keySet));
            System.out.println("删除键password" + jedis.del("password"));
            System.out.println("判断键password是否存在" + jedis.exists("password"));
            System.out.println("查看键username所存贮的值的类型" + jedis.type("username"));
            System.out.println("随机返回一个key" + jedis.randomKey());
            System.out.println("重命名key" + jedis.rename("username", "name"));
            System.out.println("取出改后的name" + jedis.get("name"));
            System.out.println("切换redis操作库" + jedis.select(1)); //默认是0库 现在切到1库
    
            jedis.flushDB();
            jedis.set("password01", "12345");
            jedis.set("password02", "12345");
            jedis.set("password03", "12345");
            System.out.println("查询当前库的key的数量" + jedis.dbSize());
    
            /************常用api-String*******************/
            System.out.println();
            System.out.println("===================string类型操作=====================");
            System.out.println();
            jedis.select(0); //选择0库作为要操作的库
            jedis.flushDB(); //清空数据
            System.out.println(jedis.set("key1", "value1"));
            System.out.println(jedis.set("key2", "value2"));
            System.out.println(jedis.set("key3", "value3"));
            System.out.println("删除key2" + jedis.del("key2")); //可以删除多个
            System.out.println("获取key2" + jedis.get("key2")); //此时返回空
            System.out.println("在key3的后面加入值" + jedis.append("key3", "-tail")); //此时返回空
            System.out.println("添加多个值" + jedis.mset("key4", "value4", "key5", "value5"));
            System.out.println("获取多个值" + jedis.mget("key1", "key2", "key3", "key4"));
    
            jedis.flushDB();
            System.out.println("如果key存在则不添加如果key不存在则添加" + jedis.setnx("key1", "value1"));
            System.out.println("如果key存在则不添加如果key不存在则添加" + jedis.setnx("key1", "value2"));
            System.out.println("获取key1的值" + jedis.get("key1"));
    		jedis.close(); //关闭连接
            //jedis.shutdown(); //关闭redis
        }
    }
    
  • jedis操作事务
    public class RedisTest02 {
        public static void main(String[] args) {
            String host = "127.0.0.1";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
            jedis.flushDB();
            //jedis.watch("monitor"); //增加监视器
            Transaction transaction = jedis.multi(); //开启redis事务
            try {
                jedis.set("key1", "100");
                jedis.set("key2", "100");
                jedis.incr("key1");
                transaction.exec(); //执行事务
                int i = 1 / 0 ; //抛出异常 事务回滚
            }catch (Exception e){
                transaction.discard(); //事务失败后放弃事务
                e.printStackTrace();
                //jedis.unwatch(); //释放锁
            }
            System.out.println(jedis.get("key1")); //返回的是一个null
            jedis.close();
    
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值