1、redis支持5中类型  string hash(map格式) list(linkedlist,可以重复) set(不允许重复) sortedset(有序,不允许重复)  

string  set age  get age del age 

hash hset  myhash username hh ,hash hset myhash password 123  ; hget myhash username ;

list  lpush mylist a, lpush mylist b ,rpush mylist c; lpop mylist ;lrange  mylist 0  -1;rpop mylist;

set sadd myset a; sadd myset b c d; smembers myset;srem myset b;

sortedset zadd mysort 60 lisi; zadd mysort 50 zhangsan; zrange mysort 0 -1;zrem mysort lisi;

keys * 可以查看所有key

type username 查看类型

del key 删除指定key

2、redis持久化

      RDB 默认方式,一定间隔时间会持久化一次  ;

     900秒(15分钟)内至少1个key值改变   则进行数据库保存--持久化
     300秒(5分钟)内至少10个key值改变  则进行数据库保存--持久化
     60秒(1分钟)内至少10000个key值改变  则进行数据库保存--持久化

      AOF 日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据

      appendonly res 开启 aof

        always 每一次执行都执行持久化

  everysec 每个一秒执行一次持久化

  no 由系统操控

3、jedis操作redis

@Test
    public void testRedisStr(){
        Jedis jedis = new Jedis("139.129.99.12", 6379);
        jedis.auth("123456");
        jedis.set("username2","张三");
        jedis.setex("username3",10,"hh3");
        System.out.println(jedis.get("username"));
        jedis.close();
    }

    @Test
    public void testRedisHash(){
        Jedis jedis = new Jedis("139.129.99.12", 6379);
        jedis.auth("123456");
        jedis.hset("user","username","hh");
        jedis.hset("user","age","20");
        System.out.println(jedis.hget("user","username"));
        System.out.println(jedis.hgetAll("user"));
        jedis.close();
    }

    @Test
    public void testRedisList(){
        Jedis jedis = new Jedis("139.129.99.12", 6379);
        jedis.auth("123456");
        jedis.lpush("list1","la","lb","lc");
        jedis.rpush("list1","ra","rb","rc");
        System.out.println(jedis.lrange("list1",0,-1));
        System.out.println(jedis.lpop("list1"));
        jedis.close();
    }

    @Test
    public void testRedisSet(){
        Jedis jedis = new Jedis("139.129.99.12", 6379);
        jedis.auth("123456");
        jedis.sadd("myset02","java","php","c++");
        System.out.println(jedis.smembers("myset02"));
        jedis.close();
    }

    @Test
    public void testRedisSortedSet(){
        Jedis jedis = new Jedis("139.129.99.12", 6379);
        jedis.auth("123456");
        jedis.zadd("sortset01",50,"hh1");
        jedis.zadd("sortset01",80,"hh2");
        jedis.zadd("sortset01",70,"hh3");
        System.out.println(jedis.zrange("sortset01",0,-1));
        jedis.close();
    }

 

redis 集群

 

 

spring boot 使用redis

@Test
    public void test(){
        //string 字符串
        //redisTemplate.opsForValue().set("str", "hh");
        redisTemplate.boundValueOps("str").set("hh");
        System.out.println("str = " + redisTemplate.opsForValue().get("str"));

        //hash 散列
        redisTemplate.boundHashOps("h_key").put("name", "hh");
        redisTemplate.boundHashOps("h_key").put("age", 13);
        //获取所有域
        Set set = redisTemplate.boundHashOps("h_key").keys();
        System.out.println(" hash散列的所有域:" + set);
        //获取所有值
        List list = redisTemplate.boundHashOps("h_key").values();
        System.out.println(" hash散列的所有域的值:" + list);

        //list 列表
        redisTemplate.boundListOps("l_key").leftPush("c");
        redisTemplate.boundListOps("l_key").leftPush("b");
        redisTemplate.boundListOps("l_key").leftPush("a");
        //获取全部元素
        list = redisTemplate.boundListOps("l_key").range(0, -1);
        System.out.println(" list列表中的所有元素:" + list);

        // set 集合
        redisTemplate.boundSetOps("s_key").add("a", "b", "c");
        set = redisTemplate.boundSetOps("s_key").members();
        System.out.println(" set集合中的所有元素:" + set);

        // sorted set 有序集合
        redisTemplate.boundZSetOps("z_key").add("a", 30);
        redisTemplate.boundZSetOps("z_key").add("b", 20);
        redisTemplate.boundZSetOps("z_key").add("c", 10);
        set = redisTemplate.boundZSetOps("z_key").range(0, -1);
        System.out.println(" zset有序集合中的所有元素:" + set);
    }

 

posted on 2020-07-26 19:34  王洪洪  阅读(582)  评论(0编辑  收藏  举报