96SEO 2026-02-20 09:44 10
Set#xff08;有序集合#xff09;实现#xff0c;通过Geohash编码将经纬度…Redis的GEO数据类型用于存储地理位置信息如经纬度并提供高效的地理位置查询功能如计算两地距离、搜索附近地点等。

其底层基于Sorted
Set有序集合实现通过Geohash编码将经纬度转换为分数score进行存储。
key用于存储地理位置信息的键名。
longitude地理位置的经度经度范围-180
180latitude地理位置的纬度纬度范围-85.05112878
85.05112878。
member与经纬度关联的成员名称通常是一个字符串标识符比如一个地点名。
NX仅添加新成员不更新已存在的成员。
XX仅更新已存在的成员不添加新成员。
CH返回被修改的成员数量默认返回新增数量。
GEODIST计算两个成员间的距离支持单位m米默认、km千米、mi英里、ft英尺。
GEOHASH返回成员的Geohash字符串将二维经纬度编码为一维字符串便于比较位置相似性。
key存储地理位置信息的Redis键名。
longitude和latitude查询的中心点的经度和纬度。
radius搜索半径可以是米m、千米km、英尺ft或英里mi。
[WITHCOORD]返回匹配元素的经纬度。
[WITHDIST]返回匹配元素到中心点的距离。
[WITHHASH]返回匹配元素的Geohash值。
[COUNT
count]限制返回结果的数量。
[ASC|DESC]按距离升序或降序排序。
[STORE
key]将返回的结果存储到指定的Redis键中。
[STOREDIST
key]将返回的结果及其到中心点的距离存储到指定的Redis键中。
GEORADIUSBYMEMBER根据给定的成员和半径查找附近的成员。
GEORADIUS_ROGEORADIUS_RO命令是GEORADIUS命令的只读版本。
从Redis版本6.2.0开始GEORADIUS命令被视为已废弃建议在新代码中使用GEOSEARCH和GEOSEARCHSTORE命令替代GEORADIUS的相关功能。
GEORADIUSBYMEMBER_ROGEORADIUSBYMEMBER_RO命令是GEORADIUSBYMEMBER命令的只读版本。
GEOSEARCH根据指定的查询参数在Redis的地理空间数据集中搜索符合条件的位置。
key存储地理位置信息的Redis键名。
[FROMMEMBER
member]使用有序集中给定的现有位置作为查询的中心点。
[FROMCOORD
latitude]使用给定的经度和纬度作为查询的中心点。
[BYRADIUS
unit]根据给定的半径在一个圆形区域中进行搜索。
[BYBOX
unit]根据给定的高度和宽度在一个矩形区域中进行搜索。
[WITHCOORD]返回匹配位置的经度和纬度。
[WITHDIST]返回匹配位置与指定中心点的距离。
[ASC|DESC]按距离升序或降序排序返回结果。
[COUNT
GEOSEARCHSTORE与GEOSEARCH命令类似但它不直接返回搜索结果给客户端而是将搜索结果存储到一个新的键中。
这对于需要在服务器端保存搜索结果以便后续处理或分析的场景非常有用。
Geohash编码将经纬度转换为一个double类型的分数score存储在Sorted
6.2推荐使用GEOSEARCH替代GEORADIUS和GEORADIUSBYMEMBER。
无法分页例如附近的人列表无法根据距离从近到远实现分页查询此时需要使用mongo或者es来实现。
com.morris.redis.demo.geo;import
org.redisson.api.RedissonClient;
org.redisson.api.geo.GeoSearchArgs;
org.redisson.client.codec.StringCodec;
org.redisson.config.Config;import
Config();config.useSingleServer().setAddress(redis://127.0.0.1:6379);//
Redisson.create(config);RGeoObject
StringCodec.INSTANCE);geo.add(116.28,
GeoUnit.KILOMETERS);System.out.println(dist);
geo.search(GeoSearchArgs.from(119.30,
GeoUnit.KILOMETERS));System.out.println(search);
作为专业的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