redis
青春已被放纵了
研究自己喜欢的东西!
展开
-
redis 使用定位算法
实现原理先算出该点周围的矩形的四个点,然后使用经纬度去直接匹配数据库中的记录。 //获取周围坐标 public function returnSquarePoint($lng, $lat,$distance = 0.5){ $earthRadius = 6378138; $dlng = 2 * asin(sin($distance / (2 * $原创 2017-03-06 11:34:13 · 1880 阅读 · 0 评论 -
redis 热搜词 搜索存储
$redis = new Redis();// var_dump($redis);die;$redis->connect('127.0.0.1',6379);// $redis->HSET('house','beijng',array('马连洼','菊园','农大','梅园'));$aa = array('马连洼','菊园','农大','梅园');$aa = json_原创 2017-04-07 15:15:30 · 33570 阅读 · 0 评论 -
计算两个经纬度之间的直线距离
在社区里看了一下,关于计算经纬的有几个帖子,但是返回值都不正确,或者转换不完整。我经过详细推敲,找到了计算距离完整方法,使用百度地图经纬度即可,特此发帖分享!如有不对的地方还请留言斧正!最后希望斑竹关注、求精!! /** * 计算两点之间距离,返回包含单位的字符串类型(经度放前面一是为了符合中国的使用习惯,二是为了跟appcan的 一些方法保持同样风格)转载 2017-03-16 11:12:15 · 5949 阅读 · 1 评论 -
GeoHash核心原理解析
引子机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然后返回距离机机的计算思想很朴素,就是转载 2017-03-16 11:20:13 · 394 阅读 · 0 评论 -
根据GEOHASH,查找附近的人,判断距离远
思路:提取用户经纬度,生成GEOHASH,根据geohash的精度判断距离远近,结合http://bbs.appcan.cn/forum.php?m ... 7391&extra=page%3D1这个帖子,可以完全计算出附近的人以及精确的距离(不过微信用的是大致距离,计算精确距离太耗费资源了。)先普及一下GEOHASH的知识:http://blog.jobbole.com/80633/ G...转载 2017-03-16 11:40:30 · 7335 阅读 · 5 评论 -
30个php操作redis常用方法代码例子
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE $red原创 2017-03-16 15:33:57 · 421 阅读 · 0 评论 -
redis命令(常用简单的实例)
这几天就开始总结下redis,我们经常用的命令,以及实例吧!!!!redis 队列 List常用命令:blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用brpoplpushlindex获取一个元素,通过其索引列表linsert在列表中的另一个元素之前或之后插入一个元素llen获得队列(List)的长度lpop从原创 2017-12-28 16:48:26 · 27547 阅读 · 0 评论 -
redis锁
思路是:设置一个锁的key,setnx是原子操作,只能一个进程写入成功,写入成功返回true(表示获取锁权限),然后写入内容再释放锁即删除锁key。获取不到锁的进程直接返回。但是这里有种情况,获取锁权限的进程,获取锁后运行报错了,导致没有释放锁,那么一直就不能写入内容,这时就需要拿不到锁权限的进程去判断锁的剩余有效时间,如果为-1则设置锁的有效时间为5秒(预留5秒给拿到锁的进程的运行时间)&l...原创 2018-04-17 16:19:15 · 206 阅读 · 0 评论