前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis常用命令和数据类型

redis常用命令和数据类型

作者头像
码农编程进阶笔记
发布2022-12-21 19:31:53
8500
发布2022-12-21 19:31:53
举报

基础知识:redis默认有16个库,下标从0开始

1、切换数据库命令(切换到1号库:select 目标库下标)

2、查看当前数据库大小,也就是key的数量(dbsize)

3、查看当前数据库所有的键(keys *)

4、清空当前数据库

5、清空所有数据库

6、基本命令

一、string类型

string类型是二进制安全的(也就是只要能用二进制表示,就能存到string里面,包括图片或者序列化对象),它是redis中最基本的数据类型,一个string最多可存512M 【建议收藏】细说Redis分布式锁

操作string类型:最基本的set和get就不写了

在原有的值后面追加内容:append key value

获取键的值的长度:strlen key

设置键和值,他与set不一样,只有当键不存在时才能设置成功

对值为数值的数据进行加减操作

一次设置多个值

一次设置多个,若设置的值当中,有一个存在,则都不会创建成功

设置和获取指定范围内的值

设置值并且指定过期时间

获取原来的值,并设置新的值

二、list(列表)类型

操作list的命令,自己看吧https://www.runoob.com/redis/redis-lists.html

三、set(集合)类型

set里面不会出现重复值,且内容是无序的

操作list的命令https://www.runoob.com/redis/redis-sets.html

四、hash类型

五、zset(有序集合)类型

除了以上五种基本数据类型,还有三大特殊数据类型

一、Geospatial

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。

Redis GEO 操作方法有:

1、geoadd:geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。

语法:

代码语言:javascript
复制
geoadd key 经度 纬度 地名 经度 纬度 地名 ... ...

2、geopos:获取地理位置的坐标(经度,纬度)

代码语言:javascript
复制
geopos key 地名

3、geodist:计算两个位置之间的距离。

单位可以是:m、km、mi(英里)、ft(英尺)

代码语言:javascript
复制
geodist key 地名1 地名2 单位

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

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

代码语言:javascript
复制
georadius key 经度 纬度 半径值 单位 [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] 

WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。

WITHCOORD: 将位置元素的经度和纬度也一并返回。

WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。这个选项主要用于底层应用或者调试, 实际中的作用并不大。

COUNT: 指定半径范围内显示的目标数量(半径内有100个,可以只显示50个)

ASC: 查找结果根据距离从近到远排序。

DESC: 查找结果根据从远到近排序

5、georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。

georadiusbymember 和 GEORADIUS 命令一样, 都可以找出位于指定范围内的元素, 但是 georadiusbymember 的中心点是由给定的位置元素决定的, 而不是使用经度和纬度来决定中心点

6、geohash:返回一个或多个位置对象的 geohash 值。

二、Bitmaps

用来统计用户是否访问过网站,访问为1,没有为0

详解redis的bitmap在亿级项目中的应用

设置值setbit:设置Bitmaps中某个偏移量的值(0或1),offset从0开始

代码语言:javascript
复制
setbit key offset value

获取值getbit:获取某个偏移量的值

代码语言:javascript
复制
getbit key offset

bitcount:统计字符串中偏移量的值为1的个数,默认统计整个字符串,也可以设置start和end来获取指定区间的个数

代码语言:javascript
复制
bitcount key start end

bitop:可以进行符合操作,它可以对多个Bitmaps进行and,or,not,xor操作并将结果保存在destkey中 Redis 突然变慢了如何排查并解决?

例如:20220526这天访问网站的用户id是:1、2、5、9

20220527这天访问网站的用户id是:0、1、4、9

计算出这两天都访问过网站的用户数量

and:与操作,都为1的时候才为1

or:或操作,有一个为1那就为1

三、Hyperloglog

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农编程进阶笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档