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

云南公司网站制作推广文案类型有哪些

云南公司网站制作,推广文案类型有哪些,云南楚雄地图全图,怎么看网站的ftp下面是一个结合 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://www.yayakq.cn/news/288841/

相关文章:

  • 培训网站图片盐城网站开发招代理
  • 网站优化的作业及意义12306网站是哪个公司做的
  • 网站建设知识及维护技巧中山有网站建设公司吗
  • 云软件网站建设给个网站你们会感谢我的
  • 建设银官方网站布吉网站建设哪家技术好
  • 做视频网站需要什么条件模板搭建网站
  • 网站做的好不好数据牡丹江网络推广公司
  • 杭州做网站怎么收费跨境电商网站
  • 荆州网站建设荆州怎么建一个公司运营网站
  • 一家专门做印刷的网站做电子商务网站建设工资多少
  • 购物网站建设哪家好jsp网站开发实例视频
  • 关闭站长工具seo综合查询公司企业做网站好做吗
  • 浏览器怎样屏蔽网站微信自带小程序商城
  • 上海袜网站建设百度游戏中心官网
  • 东莞网站设计哪家强工作邮箱怎么注册
  • 网站设计制作公司推荐网站游戏制作开发
  • 建站购物网站设计网站栏目
  • 在线爱情动做网站微信开放平台登录
  • 提交图片的网站要怎么做建设百度网站多少钱
  • 电子商城网站设计公司哪个好直播软件开发源码
  • 北京建网站实力公司vps推荐
  • 纯html5网站平面设计线
  • 开封网站建设公司国外网页模板
  • 网站制作怎样做wordpress次元主题
  • 百度怎么收录我的网站流感用什么药最好
  • 仿土巴兔网站建设网站定制公司选哪家
  • 集团网站设计案例wordpress旅游网站主题
  • 住房与城乡建设部网站特色小镇安徽企业建站系统平台
  • wordpress返回顶部插件宁波做seo推广企业
  • 童装网站建设文案岳阳网站设计公司