美文网首页
redis存储集合

redis存储集合

作者: 代码potty | 来源:发表于2018-08-10 16:46 被阅读0次

    redis存储集合的方法的hset()和hget()方法,这两个方法是采用哈希表的方式来实现的,在哈希表中给定一个哈希码来存储集合,而set()和get()方法只是通过获取key来获取它的value的值,相对于hset和hget方法,有点类似于二维直角坐标系和三维直角坐标系的区别。
    redis设计类:

    public class MusicRedis {
        private final JedisPool jedisPool;
    
        public MusicRedis(String ip,int port){
            jedisPool = new JedisPool(ip,port);
        }
    
    
    
      public long hset(String hkey,String key,String value){
          Jedis jedis = jedisPool.getResource();
          long result = jedis.hset(hkey,key,value);
          jedis.close();
          return result;
      }
    
      public String hget(String hkey,String key){
          Jedis jedis = jedisPool.getResource();
          String result = jedis.hget(hkey,key);
          jedis.close();
          return result;
      }
    }
    

    在测试类中的代码如下:

    public void testRedis(){
            musicList.setTopic("1");
    
            List<MusicList> lists = new ArrayList<>();
            List<MusicList> tt = new ArrayList<>();
            for (int i =0;i<10 ;i++)
                lists.add(musicList);
    
            redis.hset("qqqq","musiclist",new Gson().toJson(lists));
    
            String result = redis.hget("qqqq","musiclist");
            if (!StringUtil.isBlank(result)){
                tt =  new Gson().fromJson(result,new TypeToken<List<MusicList>>(){}.getType());
            }
    
            for (MusicList m : tt){
                System.out.println(m);
            }
    
        }   
    

    测试结果如下图所示:


    image.png

    使用网页使用redis前后进行时间测试,因为第一次为连接数据库,时间600MS较长,扣除这一次

    测试代码段:


    image.png

    第一次测试结果:


    image.png

    第二次测试结果:


    image.png

    第三次测试结果:


    image.png

    后面几次访问该网页,redisAfter的时间都是1MS没有变了,可以看出来使用redis缓存在时间上比没使用缓存好很多。

    相关文章

      网友评论

          本文标题:redis存储集合

          本文链接:https://www.haomeiwen.com/subject/cwxlbftx.html