96SEO 2026-02-20 08:33 0
使用场景API列表名词API列表Springboot使用mavenyamlTest

是Redis在3.2版本中新增的功能用于存储和操作地理位置信息
滴滴打车这是一个对地理位置精度要求较高的场景。
通过使用Redis的GEO功能滴滴打车可以存储房源和店铺的地理位置信息并根据用户所在位置的经纬度加上范围查询到附近的房源和店铺列表放到高德地图中展现出来。
直播业务比如主播开播的时候写入主播Id的经纬度关播的时候删除主播Id元素这样就维护了一个具有位置信息的在线主播集合提供给线上检索。
自如、蛋壳、链家、美团等平台也有根据距离找房源或者商铺的功能这个功能也是使用的Redis的GEO功能。
字段含义longitude经度latitude纬度member位置名称radius距离中心位置的距离m/km/ft/mi距离中心位置的单位米/千米/英里/英尺WITHCOORD返回距离中心位置元素及经纬度WITHDIST返回距离中心位置元素及距离WITHHASH返回距离中心位置元素及geohash
值COUNT返回距离中心位置元素的元素个数ASC/DESC距离远近排序STORE
key返回的元素距离集合存储到某个key中BYRADIUS按圆形扫描BYBOX按矩形扫描
名称含义指令GEOADD用于存储指定的地理空间位置可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的
里返回所有指定名称(member)的位置经度和纬度GEOPOS
…]GEODIST用于返回两个给定位置之间的距离GEODIST
[m/km/ft/mi]GEORADIUS以给定的经纬度为中心
与中心的距离不超过给定最大距离radius的所有位置元素GEORADIUS
[ASCGEORADIUSBYMEMBER与GEORADIUS
相似只是该指令是以位置(member)为中心GEORADIUSBYMEMBER
key]GEOSEARCH存在高版本Redis中GEORADIUS升级除了可以设置扫描范围还可以设置扫描形状圆形矩形geosearch的功能更加强大和灵活可以满足更多的使用场景和需求GEOSEARCH
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependencyyaml
org.springframework.beans.factory.annotation.Autowired;
org.springframework.boot.test.context.SpringBootTest;
org.springframework.data.geo.Circle;
org.springframework.data.geo.Distance;
org.springframework.data.geo.GeoResults;
org.springframework.data.geo.Point;
org.springframework.data.redis.connection.RedisGeoCommands;
org.springframework.data.redis.core.StringRedisTemplate;
org.springframework.data.redis.domain.geo.Metrics;
org.springframework.test.context.junit4.SpringRunner;import
java.util.List;RunWith(SpringRunner.class)
将指定的地理空间位置纬度、经度、名称添加到指定的key中。
*/Testpublic
redisTemplate.opsForGeo().add(geo,
redisTemplate.opsForGeo().add(geo,
地方名称System.out.println(a);System.out.println(b);}/***
从key里返回所有给定位置元素的位置经度和纬度。
*/Testpublic
redisTemplate.opsForGeo().position(geo,
地方名称...System.out.println(points);}/***
redisTemplate.opsForGeo().distance(geo,
RedisGeoCommands.DistanceUnit.KILOMETERS);//params:
距离单位System.out.println(distance);}/***
与中心的距离不超过给定最大距离的所有位置元素并给出所有位置元素与中心的平均距离。
*/Testpublic
Metrics.KILOMETERS));//Point(经度,
距离单位)RedisGeoCommands.GeoRadiusCommandArgs
RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance().includeCoordinates().sortAscending().limit(5);GeoResultsRedisGeoCommands.GeoLocationString
redisTemplate.opsForGeo().radius(geo,
GeoRadiusCommandArgsSystem.out.println(results);}/***
与中心的距离不超过给定最大距离的所有位置元素并给出所有位置元素与中心的平均距离。
*/Testpublic
距离单位RedisGeoCommands.GeoRadiusCommandArgs
RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance().includeCoordinates().sortAscending().limit(5);GeoResultsRedisGeoCommands.GeoLocationString
redisTemplate.opsForGeo().radius(geo,
GeoRadiusCommandArgsSystem.out.println(results);}/***
redisTemplate.opsForGeo().hash(geo,
地方名称...System.out.println(results);}}注意事项
在Redis的集群环境中不建议将大量的数据存储在一个zset集合中因为这会导致集群迁移时出现卡顿现象影响线上服务的正常运行。
如果数据量过大需要对数据进行拆分按国家、省份、城市等拆分。
建议将频繁访问的数据存储在Redis中而将低频数据存储在其他数据库中。
避免将不相关的数据业务都放到一个Redis中这可以避免业务相互影响避免单实例膨胀并能在故障时降低影响面快速恢复。
由于Redis是单线程服务消息过大会阻塞并拖慢其他操作。
因此需要保持消息内容在1KB以下严禁超过50KB的单条记录。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback