Redis对数据类型的添加

redis工具类

package cn.jztd.redis.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public  class JediPoolUtils {
    private static JedisPool jedisPool;
    //静态代码块读取配置文件
    static {
        //读取配置文件
        InputStream inp = JediPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
        //关联文件
        Properties pro=new Properties();
        try {
            pro.load(inp);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //读取配置文件设置到JedisPoolConfig里
        JedisPoolConfig jedis=new JedisPoolConfig();
        jedis.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));
        jedis.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
        //初始化JedisPool
        jedisPool=new JedisPool(jedis,pro.getProperty("host"), Integer.parseInt(pro.getProperty("port")));

    }

    public  static Jedis getJed(){
        return jedisPool.getResource();
    }
}

redis工具类配置文件

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

redis对一些数据类型的测试

package cn.jztd.redis.test;

import cn.jztd.redis.util.JediPoolUtils;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class JdisTest {
    @Test
    public void  test1(){
        //1.获取连接
        Jedis jedis=new Jedis("127.0.0.1",6379);
        //2.添加数据
        jedis.set("Z","张三");
        //3.关闭连接
        jedis.close();
    }

    @Test
    public void  test2(){//string类型
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值就是localhost,6379端口
        //2.添加数据
        jedis.set("Z","张三");//存储
        System.out.println(jedis.get("Z"));//获取键值输出
        //可以使用setex()方法存储可以指定过期时间的key value
         jedis.setex("activecode",20,"11");//将11这个值存入activecode这个键20秒删除键
        //3.关闭连接
        jedis.close();
    }
    @Test
    public void  test3(){//hash类型
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值就是localhost,6379端口
        //2.添加数据
        jedis.hset("user","name","lisi");
        jedis.hset("user","age","12");
        jedis.hset("user","gender","men");
        //输出user里名称为name的值
        System.out.println(jedis.hget("user","name"));
        //获取所有的列名
        Map<String, String> user = jedis.hgetAll("user");
        Set<String> keySet = user.keySet();//列名循环获取值
        for (String key : keySet) {
            String value=user.get(key);//获得值
            System.out.println(key+":"+value);
        }
        //3.关闭连接
        jedis.close();
    }
    @Test
    public  void  test4(){ //list操作
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值就是localhost,6379端口
        //2.添加数据
        //list 存储
        jedis.lpush("mylist","a","b","c");//从右边存储
        jedis.rpush("mylist","a","b","c");//存左边存储
        System.out.println(jedis.lrange("mylist",0,-1));//输出全部,结果[c, b, a, a, b, c]
        jedis.lpop("mylist");//存右边弹出一个  c
        jedis.rpop("mylist");//存左边弹出一个  c
        System.out.println(jedis.lrange("mylist",0,-1));//输出全部结果[ b, a, a, b]
        //3.关闭连接
        jedis.close();
    }
    @Test
    public  void  test5() //set操作
    {
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值就是localhost,6379端口
        //2.添加数据
        jedis.sadd("movers","java","C#","javascript");
        //输出
        System.out.println(jedis.smembers("movers"));
        //3.关闭连接
        jedis.close();
    }
    @Test
    public  void  test6() //sorted set操作
    {
        //1.获取连接
        Jedis jedis=new Jedis();//如果使用空参构造,默认值就是localhost,6379端口
        //2.添加数据
        jedis.zadd("usert",10,"English");
        jedis.zadd("usert",9,"CHINESE");
        jedis.zadd("usert",20,"MATHEMATICS");
        //输出
        Set<String> user = jedis.zrange("usert", 0, -1);
        System.out.println(user);
        Iterator<String> iterator = user.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());//迭代器输出
        }
        //3.关闭连接
        jedis.close();
    }
    //jedis连接池使用
    @Test
    public  void  test7(){
        //0.创建配置文件
        JedisPoolConfig config=new JedisPoolConfig();
        config.setMaxIdle(10);//最大连接数
        //1.创建连接池
        JedisPool jedisPool=new JedisPool (config,"127.0.0.1",6379);
        //2.获取连接池连接
        Jedis jedis=jedisPool.getResource();
        //3.添加数据
        jedis.set("us","zz");
        //4.关闭  归还连接池
        jedis.close();
    }
    @Test
    public  void  test8(){
        Jedis jedis= JediPoolUtils.getJed();
        //3.添加数据
        jedis.set("toS","zz");
        //4.关闭  归还连接池
        jedis.close();
    }
}

 

posted on 2020-12-24 15:21  风华流沙~  阅读(155)  评论(0)    收藏  举报

导航