Redis基本操作

通用操作

rename name xm 把键name重设为xm

select 选择数据库(线上慎用)

keys * 所有键(线上慎用)

keys n* 获取n开头所有键

randomkey 随机返回一个键

exists name 判断name是否存在  返回值01

type name 获取值得数据类型

expire name 10设置name键十秒有效期

ttl name 获取name有效期s单位, 过期/不存在返回-2(注意redis版本)

persist name 设置键永不过期

string

set name  ok ex 10  支持毫秒有效期

set name ok xx存在改变

set name ok nx不存在改变

mset name ok age 23一次设置多个值

megt name ok age一次获取多个键

setrange name 0 k设置为kk

getrange同理

append name ok设置为okok

incr age年龄+1

decr age年龄-1

str char A 最重要的东西

list

l/rpush names ok 链表追加一个,同侧先进后出原则

lrange names 0 -1获取链表所有值

lpop names

lrem names ok 删除ok

lrem names -1 a后面开始删

llen names 链表长度

set 唯一,确定,无序

sadd names ok ,name, haha

smembers names 查看names中的数据

srandmember names 随机取一个

spop names 随机删除一个元素

scard names 获取集合元素个数

sismember names ok 判断是否ok是否存在names,返回值01

sinter names1 names2交集

sunion names1 names2并集

sdiff names1 names2差集

zset

zadd class 17 ok 18 oc 19 ov 添加元素

zcard class 获取元素个数

zrank class ok 获取升序排名

zrevrank  获取降序排名

zrange class 0 -1 查看所有排名

zrange class 0 -1 withscores 查看所有排名并带分数

hash

hset book name ok 设置book的name字段为ok

hset book auth xie 同上

hget book name 获取book中的name值

hmget name auth 同时获取book中的name和auth

hmset 同理

hkeys book获取book中所有键

hlen book获取book的长度

hdel book name删除book中的name

hgetall book获取book中的所有键的值

其他操作

flushall清空所有  flushdb清空当前

scan 0 match k* 一次获取10个k开头的键名,并返回下一个偏移量

multi 开启批量命令

set name ok

set name 哈哈

exec执行

discard回滚

watch name  监控name之后执行事物,当name发生改变,则事物失败

multi

地理位置操作(3.2之后特性)

GEOADD Guangdong-cities 113.2099647 23.593675 Qingyuan

成功添加一个位置

GEOADD Guangdong-cities 113.2278442 23.1255978 Guangzhou 113.106308 23.0088312 Foshan 113.7943267 22.9761989 Dongguan 114.0538788 22.5551603 Shenzhen

成功添加四个位置 

GEOPOS Guangdong-cities Qingyuan Guangzhou Foshan

1) 1)”113.20996731519699″ — 清远的经度 

2)”23.593675019671288″ — 清远的纬度 

2) 1)”113.22784155607224″ — 广州的经度 

2)”23.125598202060807″ — 广州的纬度 

3) 1)”113.10631066560745″ — 佛山的经度 

2)”23.008831202413539″ — 佛山的纬度 

计算两个位置之间的距离

在调用这个命令时, 用户需要给定想要计算差距的地点 location-x 和 location-y , 以及储存这两个地点的地理位置集合。

可选参数 unit 用于指定计算距离时的单位, 它的值可以是以下单位的其中一个:

m 表示单位为米。

km 表示单位为千米。

mi 表示单位为英里。

ft 表示单位为英尺。

如果用户没有指定 unit 参数, 那么 GEODIST 默认使用米为单位。

GEODIST Guangdong-cities Qingyuan Guangzhou

“52094.433840356309” — 两地相聚 52094 米

我们可以使用 GEORADIUSBYMEMBER 去找出位于广州 50 公里、 100 公里以及 150 公里以内的城市:

redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 50 km 

1)”Foshan” 

2)”Guangzhou” 

redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 100 km 

1)”Foshan” 

2)”Guangzhou” 

3)”Dongguan” 

4)”Qingyuan” 

redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 150 km 

1)”Foshan” 

2)”Guangzhou” 

3)”Dongguan” 

4)”Qingyuan” 

5)”Shenzhen” 

1、geoadd:增加某个地理位置的坐标。

2、geopos:获取某个地理位置的坐标。

3、geodist:获取两个地理位置的距离。

4、georadius:根据给定地理位置坐标获取指定范围内的地理位置集合。

5、georadiusbymember:根据给定地理位置获取指定范围内的地理位置集合。(区别在于参数, 前者传坐标,后者传地理位置名)

6、geohash:获取某个地理位置的geohash值。

    原文作者:会写bug的鸟
    原文地址: https://www.jianshu.com/p/0b25e682b041
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞