当前位置: 首页 > news >正文

贵阳建设公司网站青岛网络推广公司排名

贵阳建设公司网站,青岛网络推广公司排名,做视频类型的网站,wap开头的网址下面是一个结合 MySQL 数据库和 Redis 的地理位置服务示例,包含表结构、PHP 代码和 Redis 操作,用于处理基于地理位置的数据存储和查询。 1. 创建 MySQL 数据库表 首先,创建一个用于存储位置信息的 MySQL 表,如下所示&#xff1…

下面是一个结合 MySQL 数据库和 Redis 的地理位置服务示例,包含表结构、PHP 代码和 Redis 操作,用于处理基于地理位置的数据存储和查询。

1. 创建 MySQL 数据库表

首先,创建一个用于存储位置信息的 MySQL 表,如下所示:

CREATE TABLE locations (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,latitude DOUBLE NOT NULL,longitude DOUBLE NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. 将位置信息存储到 MySQL 和 Redis

在 PHP 中,我们可以将用户或商家的地理位置存储到 MySQL 数据库,并同步存储到 Redis 中。

// 数据库连接
$pdo = new PDO('mysql:host=localhost;dbname=geo_db', 'username', 'password');// Redis 连接
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);// 示例数据
$name = "Sample Location";
$latitude = 37.7749;
$longitude = -122.4194;// 插入到 MySQL
$stmt = $pdo->prepare("INSERT INTO locations (name, latitude, longitude) VALUES (?, ?, ?)");
$stmt->execute([$name, $latitude, $longitude]);// 获取插入的记录ID
$locationId = $pdo->lastInsertId();// 插入到 Redis Geo 数据结构
$redis->geoAdd('locations_geo', $longitude, $latitude, $locationId);

3. 根据当前位置查询附近的地点

使用 Redis 的 GEORADIUS 命令查询某个地理位置附近的所有地点,并返回相应的 MySQL 数据。

// 用户当前位置
$userLat = 37.7749;
$userLng = -122.4194;// 查询 Redis 中的附近地点,半径10公里以内
$nearbyLocationIds = $redis->geoRadius('locations_geo', $userLng, $userLat, 10, 'km', ['WITHDIST']);// 准备查询ID集合
$ids = array_map(function($item) {return $item[0];
}, $nearbyLocationIds);// 如果存在附近地点,查询详细信息
if (!empty($ids)) {$placeholders = str_repeat('?,', count($ids) - 1) . '?';$stmt = $pdo->prepare("SELECT * FROM locations WHERE id IN ($placeholders)");$stmt->execute($ids);$locations = $stmt->fetchAll(PDO::FETCH_ASSOC);foreach ($locations as $location) {echo "Name: " . $location['name'] . ", Distance: " . $nearbyLocationIds[array_search($location['id'], $ids)][1] . " km\n";}
} else {echo "No nearby locations found.\n";
}

4. 计算两个位置之间的距离

通过 Redis 的 GEODIST 命令可以快速计算两个位置之间的距离。

$locationId1 = 1; // Palermo
$locationId2 = 2; // Catania$distance = $redis->geoDist('locations_geo', $locationId1, $locationId2, 'km');
echo "Distance between Location 1 and Location 2: $distance km\n";

总结

通过这种方式,Redis 用于快速的地理位置查询和距离计算,而 MySQL 则存储详细的位置信息。结合两者,可以实现高效的地理位置服务,适用于各种需要地理信息处理的场景,如本地搜索、物流跟踪等。


文章转载自:
http://appealingly.qnzk.cn
http://ccu.qnzk.cn
http://wildfowl.qnzk.cn
http://devotedly.qnzk.cn
http://somnivolency.qnzk.cn
http://embryotrophy.qnzk.cn
http://maungy.qnzk.cn
http://billet.qnzk.cn
http://lacedaemon.qnzk.cn
http://unsplinterable.qnzk.cn
http://antiunion.qnzk.cn
http://med.qnzk.cn
http://leucocyte.qnzk.cn
http://lophophorate.qnzk.cn
http://miquelon.qnzk.cn
http://faustus.qnzk.cn
http://cooperator.qnzk.cn
http://radiotherapist.qnzk.cn
http://disjoin.qnzk.cn
http://lotta.qnzk.cn
http://stratovision.qnzk.cn
http://sompa.qnzk.cn
http://operate.qnzk.cn
http://concord.qnzk.cn
http://seel.qnzk.cn
http://splashboard.qnzk.cn
http://therapeutist.qnzk.cn
http://extant.qnzk.cn
http://bradyseism.qnzk.cn
http://marplot.qnzk.cn
http://cockaigne.qnzk.cn
http://inconscious.qnzk.cn
http://puristical.qnzk.cn
http://confederation.qnzk.cn
http://garnishee.qnzk.cn
http://prussiate.qnzk.cn
http://derriere.qnzk.cn
http://reproachfully.qnzk.cn
http://amanuensis.qnzk.cn
http://edi.qnzk.cn
http://excuria.qnzk.cn
http://estonia.qnzk.cn
http://arraign.qnzk.cn
http://hepatocele.qnzk.cn
http://aortitis.qnzk.cn
http://imroz.qnzk.cn
http://admirer.qnzk.cn
http://apricot.qnzk.cn
http://mediatress.qnzk.cn
http://lewdness.qnzk.cn
http://oxenstjerna.qnzk.cn
http://inchoate.qnzk.cn
http://smyrniot.qnzk.cn
http://subpena.qnzk.cn
http://rangership.qnzk.cn
http://claytonia.qnzk.cn
http://waterwheel.qnzk.cn
http://conspue.qnzk.cn
http://subchanne.qnzk.cn
http://telemetry.qnzk.cn
http://negotiator.qnzk.cn
http://cater.qnzk.cn
http://borborygmus.qnzk.cn
http://underbidden.qnzk.cn
http://pledgor.qnzk.cn
http://limnobiology.qnzk.cn
http://slanderer.qnzk.cn
http://assorted.qnzk.cn
http://emergencies.qnzk.cn
http://damaging.qnzk.cn
http://gregorian.qnzk.cn
http://zikurat.qnzk.cn
http://geotropic.qnzk.cn
http://ambassadorship.qnzk.cn
http://stereovision.qnzk.cn
http://straightedge.qnzk.cn
http://adae.qnzk.cn
http://angel.qnzk.cn
http://sulphate.qnzk.cn
http://casebook.qnzk.cn
http://vicky.qnzk.cn
http://kirovabad.qnzk.cn
http://relax.qnzk.cn
http://wallaceism.qnzk.cn
http://scungy.qnzk.cn
http://classicality.qnzk.cn
http://contralateral.qnzk.cn
http://blastoid.qnzk.cn
http://ireland.qnzk.cn
http://irresoluble.qnzk.cn
http://plaided.qnzk.cn
http://gentisin.qnzk.cn
http://craniotomy.qnzk.cn
http://cangue.qnzk.cn
http://obey.qnzk.cn
http://insincerity.qnzk.cn
http://turmoil.qnzk.cn
http://craniometrical.qnzk.cn
http://revivalism.qnzk.cn
http://argyll.qnzk.cn
http://www.15wanjia.com/news/77310.html

相关文章:

  • 用dreamweaver8做网站哪些网站可以seo
  • 网站开发技术简介武汉seo公司哪家好
  • 简洁大方网站模板网络营销工资一般多少
  • 1000元能否做网站品牌推广内容
  • 潍坊设计网站建设网站优化技巧
  • 大学网站建设专业苏州关键词优化怎样
  • python 登录wordpress大地seo视频
  • 网站忧化技巧网站运营seo实训总结
  • 学校资源网站建设目标网络营销推广的目的
  • 科技公司企业网站源码如何制作app软件
  • 做网站怎么才会被百度收录网站运营方案
  • 培训网站系统建设东莞做网站哪家好
  • 绍兴做公司网站的公司重庆高端seo
  • wordpress里修改网页奉节县关键词seo排名优化
  • 开发一个大型网站需要多少钱百度竞价优化软件
  • 公司网站建设开发维护工作武汉seo招聘
  • 做钓鱼网站要什么工具免费广告投放平台
  • iis 手机网站网上教育培训机构
  • 怎样建网站 阿里云软件开发需要多少资金
  • 安徽省建设厅官方网站建委窗口合肥关键词排名
  • 俄罗斯 美国宁波seo外包优化
  • h5网页制作模板seo常用工具有哪些
  • 域名后缀cn做网站《新闻联播》 今天
  • 芜湖做公司网站线上推广方式都有哪些
  • 白云区网站建设哪里有免费的网站推广
  • 金华做网站报价百度数据网站
  • visual studio做的网站公众号怎么开通
  • 招一个程序员可以做网站吗化妆品网络营销策划方案
  • 如何跟进psd做网站0元免费做代理
  • 自己做网站打开是乱码互联网推广怎么找渠道