Redis数据类型:Hashes、Geo操作指令

Hashes常用操作指令

Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对。

HSET HGET

HSET:将键值对存储到哈希表中,如果哈希表不存在,新建一个然后在将键值对存储进去。

HGET: 根据Key值获取value。

127.0.0.1:6379> ZADD sortset 1 name
(integer) 1
127.0.0.1:6379> HSET myhash name zhangsan
(integer) 1
127.0.0.1:6379> HGET myhash name
"zhangsan"

HDEL

删除哈希表的指定Key 和Vlaue 键值对,成功返回1,Key值不存在返回0.

127.0.0.1:6379> HDEL myhash  name
(integer) 1
127.0.0.1:6379> HDEL mysha name2
(integer) 0

HEXISTS

判断是否存在Key。成功返回1,不存在返回0。

127.0.0.1:6379> HEXISTS myhash age
(integer) 1
127.0.0.1:6379> HEXISTS myhash name
(integer) 0

HGETALL

返回哈希表中所有的KEY和VALUE。

127.0.0.1:6379> HGETALL myhash
1) "age"
2) "18"
3) "name"
4) "lisi"

HINCRBY HINCRBYFLOAT

为哈希表 key 中的指定字段的整数值加上增量 increment。HINCRBYFLOAT是增加浮点类型。

127.0.0.1:6379> HINCRBY myhash age 2
(integer) 20

HKEYS

返回哈希表中的所有Keys。

127.0.0.1:6379> HKEYS myhash
1) "age"
2) "name"

HMGET

批量获取哈希表中多个Key对应的value值。

127.0.0.1:6379> HMGET myhash age name
1) "20"
2) "lisi"

HMSET

批量设置哈希表中多个键键值对。

127.0.0.1:6379> HMSET myhash sex 0  prov beijing
OK
127.0.0.1:6379> HMGET myhash age name sex prov
1) "20"
2) "lisi"
3) "0"
4) "beijing"

HSCAN

和ZSCAN、SCAN一样都是迭代查询。可以理解分分页查询,对键值对较多的情况下比较适用。

127.0.0.1:6379> HSCAN myhash 0
1) "0"
2) 1) "age"
2) "20"
3) "name"
4) "lisi"
5) "sex"
6) "0"
7) "prov"
8) "beijing"

HSETNX

类似SETNX,新值可以写入并返回1,如果存在相同的KEY,则返回0。

127.0.0.1:6379> HSETNX myhash age 22
(integer) 0
127.0.0.1:6379> HSETNX myhash id 121
(integer) 1

HSTRLEN

返回哈希表中KEY值对应的Vaue长度。

127.0.0.1:6379> HSTRLEN myhash id
(integer) 3

Geo 地理位置指令

可以利用Redis的Geo指令来获取附近的好友这种需要计算地理位置的需求。

GEOADD

127.0.0.1:6379> GEOADD china 116.231700 39.542700 "tiananmen"
(integer) 1
127.0.0.1:6379> GEOADD china 116.460000 39.920000 'beijing'
(integer) 1
127.0.0.1:6379>

GEORADIUS

以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

127.0.0.1:6379> GEORADIUS china 116.0000 39.0000 100 km WITHCOORD
1) 1) "tiananmen"
2) 1) "116.2317010760307312"
2) "39.54270072760818522"

GEORADIUSBYMEMBER

类似GEORADIUS,区别是GEORADIUS是指定的经纬度为坐标中心查找符合条件的元素,而GEORADIUSBYMEMBER是指定的成员的经纬度为坐标中心进行查找符合条件的元素。

127.0.0.1:6379> GEORADIUSBYMEMBER china tiananmen 50 km
1) "tiananmen"
2) "beijing"

GEOPOS

返回指定元素的经纬度。

127.0.0.1:6379> GEOPOS china tiananmen
1) 1) "116.2317010760307312"
2) "39.54270072760818522"

GEOHASH

]Geohash is a public domain geocode system invented in 2008 by Gustavo Niemeyer[1] and (similar work in 1966) G.M. Morton[2], which encodes a geographic location into a short string of letters and digits. It is a hierarchical spatial data structure which subdivides space into buckets of grid shape, which is one of the many applications of what is known as a Z-order curve, and generally space-filling curves.。--wiki

返回一个或多个元素的标注GeoHash。GeoHash是一个标准的公共的地理位置系统。

127.0.0.1:6379> GEOHASH china tiananmen
1) "wx48uyt2fv0"

GEODIST

返回元素之间的距离。点对点。

127.0.0.1:6379> GEODIST china tiananmen beijing km
"46.2867"

以上就是Redis中哈希表和地理位置的常用操作指令了,更多其他指令可以参考官网,Redis官网,谢谢阅读,希望对你有所帮助。

Redis数据类型:Hashes、Geo操作指令的更多相关文章

  1. Redis集合的常用操作指令

    Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...

  2. redis数据类型及订阅操作

    Redis数据类型详解 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如“foo”的简单字符串到一个JPG文件的内容都可以.空字符串也是有效k ...

  3. Redis数据类型之列表操作

    redis 目录: 1.自动分配(redis) - 批量导入 2.微信自动绑定 3.django的ORM做不了的操作,怎么自定义操作数据库 extra ’ 4.报表 公司每个月销售的业绩 5.权限 = ...

  4. redis 从0到1 linux下的安装使用 数据类型 以及操作指令 一

    安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 mak ...

  5. Redis数据类型Strings、Lists常用操作指令

    Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...

  6. Redis数据类型:Sorted Sets操作指令

    Redis数据类型:Sorted Sets操作指令 Sorted Sets常用操作指令 Sorted Sets,本质是一个有序的Sets,其实在原来的Sets集合中对每一个元素新增了一个属性Score ...

  7. Redis数据类型和操作

    <"Java技术员"成长手册>,包含框架.存储.搜索.优化.分布式等必备知识,都收集在GitHub JavaEgg ,N线互联网开发必备技能兵器谱,欢迎指导 Redis ...

  8. 【Redis】基本数据类型及命令操作(超详细)

    一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...

  9. 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器

    一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...

随机推荐

  1. GUI学习之二十二——QRubberBand学习总结

    今天学习一种全新的输入控件——QRubberBand()控件(橡皮筋选中) 一.描述 QRubberBand()提供了一个矩形或西安来只是选择或边界的效果(就像在桌面上点击鼠标后拖拽拉出来的框一样), ...

  2. SpringBoot整合redis把用户登录信息存入redis

    首先引入redis的jai包 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  3. python数据探索与数据与清洗概述

    数据探索的核心: 1.数据质量分析(跟数据清洗密切联系,缺失值.异常值等) 2.数据特征分析(分布.对比.周期性.相关性.常见统计量等) 数据清洗的步骤: 1.缺失值处理(通过describe与len ...

  4. NOIP模拟赛(by hzwer) T1 小奇挖矿

    [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...

  5. 【hackerrank】Type of Triangle

    题目如下: Write a query identifying the type of each record in the TRIANGLES table using its three side ...

  6. LeetCode--152--乘积最大子序列(python)

    给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6.示例 2: 输 ...

  7. Linux学习-NFS服务

    一.NFS服务相关介绍 1.NFS简介 NFS (Network File System) 网络文件系统,基于内核的文件系统.Sun公司开发,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系 ...

  8. vs 2010创建Windows服务定时timer程序

    vs 2010创建Windows服务定时timer程序: 版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处:  http://www.cnblogs.com/2186009311CFF/p/ ...

  9. 面试题常考&必考之--http访问一个页面的全流程(Tcp/IP协议)

    分析:-http访问一个页面的全流程,也就好比我们在地址栏输入地址,然后点击回车进行访问 该面试题的主要考点是:计算机网络的TCP/IP协议栈 描述图片:首先应用层提交http请求,传到传输层后由,T ...

  10. React Native 中 static的navigationOptions中的点击事件不能用this

    想在某个页面中设置导航栏,title + 左右按钮(按钮上肯定需要有事件) static navigationOptions = ({ navigation, navigationOptions }) ...