JAVA之Redis

什么是Redis?
Redis 是以key-value形式存储的Nosql,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

Java简单操作Redis

public class RedisTest {

    /**
     * 简单连接
     */
    @Test
    public void test1(){
        //获取连接对象
        Jedis conn = new Jedis("127.0.0.1",6379);
        conn.auth("root");
        //操作连接对象
        conn.set("name", "张三");
        System.out.println(conn.get("name"));
        //关闭连接对象
        conn.close();
    }

    /**
     * 通过连接池连接
     */
    @Test
    public void test2() {
        //创建配置对象
        JedisPoolConfig c = new JedisPoolConfig();
        //配置配置对象
        c.setMaxIdle(5);//最小连接数,也是空闲时最大连接数
        c.setMaxTotal(10);//最大连接数
        c.setMaxWaitMillis(2000);//获取连接的最大等待时间
        c.setTestOnBorrow(true);//在使用连接时,测试连接对象是否畅通
        //创建连接池对象
        JedisPool jedisPool = new JedisPool(c,"127.0.0.1",6379,2000,"root");
        //获取到连接对象
        Jedis jedis = jedisPool.getResource();
        jedis.set("age", "哈哈");
        System.out.println(jedis.get("age"));
        //判断如果是连接池就释放连接,如果不是就关闭连接
        jedis.close();
    }
}




public class JedisPoolTest {
    @Test
    public void testKey(){
        //使用工具类获取连接对象
        Jedis jedis = JedisPoolUtil.INSTANCE.createJedis();
        jedis.flushDB();
        //清除之后判断key是否存在
        System.out.println(jedis.exists("name"));//false
        jedis.set("name", "cx");
        //设置之后查看key是否存在
        System.out.println(jedis.exists("name"));//true
        //获取key的值
        System.out.println(jedis.get("name"));

        //设置key 的生存时间
        jedis.expire("name", 10);
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("key的剩余时间"+jedis.ttl("name"));
        //释放资源
        JedisPoolUtil.INSTANCE.closedJedis(jedis);
    }


    /**
     * String的基本操作
     */
    @Test
    public void testString() {
        Jedis jedis = JedisPoolUtil.INSTANCE.createJedis();

        //先清除所有的key
        jedis.flushDB();
        //添加一个
        jedis.set("name","hello" );
        System.out.println(jedis.get("name"));
        //修改
        jedis.set("name", "nihaoa");
        System.out.println(jedis.get("name"));

        //追加
        jedis.append("name", "123");
        System.out.println(jedis.get("name"));
        //删除
        jedis.del("name");
        System.out.println(jedis.get("name"));


        JedisPoolUtil.INSTANCE.closedJedis(jedis);
    }

    /**
     * List的操作
     */
    @Test
    public void testList() {
        Jedis jedis = JedisPoolUtil.INSTANCE.createJedis();
        //设置列,从左边插入
        jedis.flushDB();
        jedis.lpush("cx","aa","bb","cc");
        List<String> cx = jedis.lrange("cx", 0, -1);
        System.out.println("-----------------------");
        //从右边插入
        jedis.rpush("cx","aa","bb","cc");
        List<String> cx1 = jedis.lrange("cx", 0, -1);
        for (String s : cx1) {
            System.out.print(s+",");
        }
        jedis.lrem("cx", -1, "aa");
        System.out.println("---");
        List<String> cx2 = jedis.lrange("cx", 0, -1);
        for (String s : cx2) {
            System.out.print(s+",");
        }


        JedisPoolUtil.INSTANCE.closedJedis(jedis);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值