• java-redis 分布式事务 分布式锁


    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);
        }
  • 相关阅读:
    $(this)和this 区别
    文本溢出显示省略标记'...'的bug
    web中常用的20种字体 (share)
    Underscore.js 的模板功能
    iphone webapp如何隐藏地址栏
    制作自己博客的分享按钮
    css3动画事件—webkitAnimationEnd
    获取随机的颜色
    制作自己博客的翻译工具
    兼容IE getElementsByClassName取标签
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13381599.html
Copyright © 2020-2023  润新知