シリアル番号 コマンドと説明 1GEOADD キー経度緯度位置名 指定された地理的空間位置 (緯度、経度、 name) が指定されたキーに追加されます 2GEOPOS キーの場所の名前 キーの場所から指定されたすべての場所の要素を返します(緯度と経度)。 3GEODIST キーの場所 1 場所 2 単位 指定された 2 つの場所の間の距離を返します (場所が 2 つある場合)。存在しない場合、コマンドは null 値を返します。 4GEORADIUS キー 経度と緯度の範囲の数値単位
指定された経度と緯度を中心、検索 特定の半径内の要素のうち
#5GEORADIUSBYMEMBER キー 位置距離値の単位 指定された範囲要素内の要素の場合、中心点は指定された位置要素によって決定されます。 要素 #6GEOHASH キー 場所 1 場所 2 は 11 を返します。文字の Geohash 文字列。2 つの文字列が近いほど、距離は近くなります。 #7 zrange key start stop指定されたキーの座標情報を取得 8 zrem key location指定されたキーの下にある指定されたターゲットのデータを削除します 查询地点经纬度:
城市经纬度查询-国内城市经度纬度在线查询工具
2.4 详细讲解 2.4.1 GEOADD 作用:添加地理位置
规则:两级无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入!
语法:GEOADD key 经度 纬度 地点名称
注意事项
有效的经度从-180度到180度。
有效的纬度从-85.05112878度到85.05112878度。
当坐标位置超出上述指定范围时,该命令将会返回一个错误。
使用
#添加单个信息
127.0.0.1:6379> geoadd address 116.708463 23.37102 shantou
(integer) 1
#添加多个信息
127.0.0.1:6379> geoadd address 116.405285 39.904989 beijin 121.472644 31.231706 shanghai
(integer) 2 ログイン後にコピー
2.4.2 GEOPOS 作用:获得指定地点的位置信息(经纬度)
语法:GEOPOS key 地点名称
使用
127.0.0.1:6379> geopos address beijin #获得北京的地理位置
1) 1) "116.40528291463851929" #经度
2) "39.9049884229125027" #纬度 ログイン後にコピー
2.4.3 GEODIST 作用:返回两个给定位置之间的距离,如果两个位置之间的其中一个不存在, 那么命令返回空值。
语法:GEODIST key 地点1 地点2 单位
单位参数:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位。
使用:
127.0.0.1:6379> geodist address beijin shanghai km #查询北京与上海之间的距离
"1067.5980" ログイン後にコピー
2.4.4 GEORADIUS 作用:以给定的经纬度为中心, 找出某一半径内的元素。
语法:GEORADIUS key 经度 纬度 范围数值 单位
使用:
#查找以116,39这个经纬度为中心,寻找方圆1500km的城市
127.0.0.1:6379> georadius address 116 39 1500 km
1) "shanghai"
2) "beijin"
# 显示到中间距离的位置
127.0.0.1:6379> georadius address 116 39 1500 km withdist
1) 1) "shanghai"
2) "996.7313"
2) 1) "beijin"
2) "106.5063"
#显示他人的定位信息
127.0.0.1:6379> georadius address 116 39 1500 km withcoord
1) 1) "shanghai"
2) 1) "121.47264629602432251"
2) "31.23170490709807012"
2) 1) "beijin"
2) 1) "116.40528291463851929"
2) "39.9049884229125027"
#筛选出最近的城市以及显示其距离
127.0.0.1:6379> georadius address 116 39 1500 km withdist withcoord count 1
1) 1) "beijin"
2) "106.5063"
3) 1) "116.40528291463851929"
2) "39.9049884229125027"
#筛选最近两个城市以及显示其距离
127.0.0.1:6379> georadius address 116 39 1500 km withdist withcoord count 2
1) 1) "beijin"
2) "106.5063"
3) 1) "116.40528291463851929"
2) "39.9049884229125027"
2) 1) "shanghai"
2) "996.7313"
3) 1) "121.47264629602432251"
2) "31.23170490709807012" ログイン後にコピー
2.4.5 GEORADIUSBYMEMBER 作用:找出位于指定范围内的元素,中心点是由给定的位置元素决定。
语法:GEORADIUSBYMEMBER key 地点 距离数值 单位
使用:
#找出距离北京方圆1500km内的城市
127.0.0.1:6379> georadiusbymember address beijin 1500 km
1) "shanghai"
2) "beijin" ログイン後にコピー
2.4.6 GEOHASH 作用:将返回11个字符的Geohash字符串,如果两个字符串越接近,那么则距离越近。
语法:GEOHASH key 地点1 地点2
???? 使用:
127.0.0.1:6379> geohash address beijin shantou
1) "wx4g0b7xrt0"
2) "ws4uzy8d030" ログイン後にコピー
2.4.7 ZRANGE 作用:获得指定key中坐标信息。
语法:zrange key start stop
使用:
127.0.0.1:6379> zrange address 0 -1
1) "shantou"
2) "shanghai"
3) "beijin" ログイン後にコピー
2.4.8 ZREM 作用:删除指定key下指定目标的数据。
语法:zrem key 地点
使用:
127.0.0.1:6379> zrem address shanghai
(integer) 1 ログイン後にコピー
三、BitMap 介绍 BitMap是通过一个bit位来表示某个元素对应的值或者状态,只有0 和 1 两个状态,其中的key就是对应元素本身。365 天 = 365 bit ,1字节 = 8bit ,也就是说统计一年的用户状态只需要46 个字节左右,所以其能够节省很大的空间。
应用场景
使用
需求:记录 周一到周日的打卡
1:表示有打卡
0:表示没有打卡
127.0.0.1:6379> setbit sign 0 1
(integer) 0
127.0.0.1:6379> setbit sign 1 1
(integer) 0
127.0.0.1:6379> setbit sign 2 0
(integer) 0
127.0.0.1:6379> setbit sign 3 1
(integer) 0
127.0.0.1:6379> setbit sign 4 1
(integer) 0
127.0.0.1:6379> setbit sign 5 0
(integer) 0
127.0.0.1:6379> setbit sign 6 0
(integer) 0 ログイン後にコピー
查看某一天是否有打卡
127.0.0.1:6379> getbit sign 3
(integer) 1
127.0.0.1:6379> getbit sign 6
(integer) 0 ログイン後にコピー
统计本周的打卡记录
127.0.0.1:6379> bitcount sign
(integer) 4 ログイン後にコピー
以上がRedis の特殊なデータ型の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Redisクラスターモードの構築方法
Apr 10, 2025 pm 10:15 PM
Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る
Redisデータをクリアする方法
Apr 10, 2025 pm 10:06 PM
Redisデータをクリアする方法:Flushallコマンドを使用して、すべての重要な値をクリアします。 FlushDBコマンドを使用して、現在選択されているデータベースのキー値をクリアします。 [選択]を使用してデータベースを切り替え、FlushDBを使用して複数のデータベースをクリアします。 DELコマンドを使用して、特定のキーを削除します。 Redis-CLIツールを使用してデータをクリアします。
Redisコマンドの使用方法
Apr 10, 2025 pm 08:45 PM
Redis指令を使用するには、次の手順が必要です。Redisクライアントを開きます。コマンド(動詞キー値)を入力します。必要なパラメーターを提供します(指示ごとに異なります)。 Enterを押してコマンドを実行します。 Redisは、操作の結果を示す応答を返します(通常はOKまたは-ERR)。
Redisキューの読み方
Apr 10, 2025 pm 10:12 PM
Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。
Redisロックの使用方法
Apr 10, 2025 pm 08:39 PM
Redisを使用して操作をロックするには、setnxコマンドを介してロックを取得し、有効期限を設定するために有効期限コマンドを使用する必要があります。特定の手順は次のとおりです。(1)SETNXコマンドを使用して、キー価値ペアを設定しようとします。 (2)expireコマンドを使用して、ロックの有効期限を設定します。 (3)Delコマンドを使用して、ロックが不要になったときにロックを削除します。
Redisのソースコードを読み取る方法
Apr 10, 2025 pm 08:27 PM
Redisソースコードを理解する最良の方法は、段階的に進むことです。Redisの基本に精通してください。開始点として特定のモジュールまたは機能を選択します。モジュールまたは機能のエントリポイントから始めて、行ごとにコードを表示します。関数コールチェーンを介してコードを表示します。 Redisが使用する基礎となるデータ構造に精通してください。 Redisが使用するアルゴリズムを特定します。
Redis用のメッセージミドルウェアの作成方法
Apr 10, 2025 pm 07:51 PM
Redisは、メッセージミドルウェアとして、生産消費モデルをサポートし、メッセージを持続し、信頼できる配信を確保できます。メッセージミドルウェアとしてRedisを使用すると、低遅延、信頼性の高いスケーラブルなメッセージングが可能になります。
Redisでサーバーを開始する方法
Apr 10, 2025 pm 08:12 PM
Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。
See all articles