zoukankan      html  css  js  c++  java
  • RedisTemplate使用

    1.Geospatial 地理位置

    1.添加                              

    //1.key 2.value(经度,纬度)  3.name
            redisTemplate.opsForGeo().add("city",new Point(116.35,23.535),"jieyang");

     2.获取城市(1个或者多个)的经纬度

            System.out.println(redisTemplate.opsForGeo().position("city", "jieyang", "dongguan"));

     3.计算两个城市的直线距离

    redisTemplate.opsForGeo().distance("city","guangzhou","dongguan",KILOMETERS)

     4.附近的城市

     //距离300km
            Distance distance = new Distance(300, Metrics.KILOMETERS);
            //以揭阳这个地点为中心点,附件300km的城市
            GeoResults<RedisGeoCommands.GeoLocation<Object>> radius = redisTemplate.opsForGeo().radius("city", "jieyang", distance);
            for( GeoResult<RedisGeoCommands.GeoLocation<Object>> radiu: radius.getContent()){
                System.out.println(radiu.getContent().getName());
            }
            //以133.11 23.037这个地点为中心点,附件300km的城市
            System.out.println(redisTemplate.opsForGeo().radius("city", new Circle(new Point(113.11, 23.037), distance)));

     2.Hyperloglog基数

     1.统计不相同的数的数据,可用于网页浏览量的实现

      //添加的7个数,
            redisTemplate.opsForHyperLogLog().add("myHkey","a","a","b","c","d","e","e");
            //输出不同数的数量
            System.out.println(redisTemplate.opsForHyperLogLog().size("myHkey"));

     3.ZSet 有序集合

     // 添加数据 1.key 2.value 3.index
            redisTemplate.opsForZSet().add("myzset","one",8);
            redisTemplate.opsForZSet().add("myzset","two",12);
            redisTemplate.opsForZSet().add("myzset","three",33);
            redisTemplate.opsForZSet().add("myzset","four",54);
            //按照index从小到大排序  1.key  2.从0开始 3.到-1  相对于输出全部
           System.out.println(redisTemplate.opsForZSet().range("myzset", 0, -1));
           //集合个数
           System.out.println(redisTemplate.opsForZSet().zCard("myzset"));
           //index 0到20 之间的数量
           System.out.println(redisTemplate.opsForZSet().count("myzset", 0, 20));
           //index 0到20之间的value
           System.out.println(redisTemplate.opsForZSet().rangeByScore("myzset", 0, 20));

     4.Hash

      //添加数据
            redisTemplate.opsForHash().put("myhash","name","cwd");
            redisTemplate.opsForHash().put("myhash","age","18");
            //取出数据
            System.out.println(redisTemplate.opsForHash().entries("myhash"));
            //数量
            System.out.println(redisTemplate.opsForHash().size("myhash"));
  • 相关阅读:
    C#基础知识整理(一)c#语言基础—数据运算
    Socket 基于完整CS样式例子(转载)
    LVS NAT模式实战案例
    LVS DR模式实战案例
    Kubernetes 概述及Kubernetes各个组件概述
    k8s 基于kubeasz(ansible) 搭建高可用集群 kubernetes v1.22.2
    Linux LVS 介绍
    Python 读写字节数据(转)
    帮你克服web字体选择焦虑症
    python 深拷贝 浅拷贝
  • 原文地址:https://www.cnblogs.com/miwujun/p/14342563.html
Copyright © 2011-2022 走看看