zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    CentOS安装docker-compose
    CentOS安装docker
    CentOS7安装Python3.7
    Windows 10 任务栏添加网易云音乐控制按钮
    学习postman教程
    接口自动化测试理论
    【测试基础】界面测试
    CentOS7设置开机自启动方式
    CentOS7 安装Jenkins
    CentOS7使用docker搭建Solo博客
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13381599.html
Copyright © 2011-2022 走看看