当前位置: 首页 > news >正文

Redis(二)数据类型

文章目录

    • 官网
    • 备注
    • 十大数据类型
      • String
      • List
      • Hash
      • Set
      • ZSet
      • Bitmap
      • HyperLogLog:
      • GEO
      • Stream
      • Bitfield

官网

英文:https://redis.io/commands/
中文:http://www.redis.cn/commands.html

备注

  1. 命令不区分大小写,key区分大小写
  2. 帮助命令help @类型,例如help @string

十大数据类型

  1. String
    k v
  2. List
    k v v v
  3. Hash
    k hk hv
  4. Set
    k v v v不重复v
  5. ZSet
    k score1 v1 score2 v2
  6. Bitmap
    k offset v
  7. HyperLogLog:
    k v v v
  8. GEO
    k longitude latitude member [longitude latitude member]
  9. Stream
    对标MQ
  10. Bitfield
    字符串变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改

String

命令

k键,v为值需要填充进去,例如set test 123,其中test为key,123为value

set k v
get k
set k v keepttl
# keepttl继承设置的过期时间不会因为k的value被set就修改过期时间
# 同时获取多个键值
mset k v [k v ...]
mget k [k]
# 获取指定区间范围内的值
getrange/setrange
# 数值增减(只有数值才能增减)
INCR key # 递增数字
INCRBY key increment # 增加指定整数
DECR key # 递减数值
DECRBY key decrement # 减少指定整数
# 获取字符串内容长度和内容追加
STRLEN key
APPEND key value
# 分布式锁
setnx key value
setex # set with expire
setnx # set if not exist
# 先set再get
getset k v

List

k v v v

# 左侧加入/右侧加入/指定范围显示
lpush/rpush/lrange
lpop/rpop
# 获取列表中元素个数
llen
# 按照索引下标获得元素(从上到下)
lindex
# 数字N给定值v1 解释(删除N个值等于v1的元素)
lrem key
# 开始index结束index,截取指定范围再赋值给key
ltrim key
# 用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
rpoplpush listsource listdist
lset key index value
linsert key before/after # 已有值/插入新值

Hash

k hk hv

hset/hget/hmset/hmget/hgetall/hdel hash
# 获取某个key内全部数量
hlen hash
# 在key里面某个值的key,有返回1 
hexists key
# 显示所有key,value
hkeys hash
hvals hash
# 表中的字段值加上指定增量值33.4。
hincrby hash k1 3
hincrbyfloat hash k1 3.4
# 表中不存在的的字段赋值,已经存在于哈希表中,操作无效。
hsetnx hash k1 45

Set

k v v v不重复v

# 添加元素
sadd key member [member...]
# 遍历集合所有元素
smembers key
# 判断元素是否在集合中
ismember key member
# 删除元素
srem key member [member...]
# 获取集合元素个数
scard 
# 集合中随机弹出[数字]个值,元素不删除
srandmember key [数字]
# 从集合中随机弹出一个元素,并删除
spop key [数字]
# 将k1里已经存在的某个值赋值给k2
smove k1 k2

集合运算

# 差集
sdiff key [key...]
# 并集
sunion key [key...]
# 交集
sinter key [key...]

ZSet

k score1 v1 score2 v2

# 添加元素
zadd key score member [score member...]
# 按照元素从小到大排序返回索引从start到stop之间的所有元素
zrange key start stop [widthscores]
# 翻转顺序
zrevrange
# 获取指定分数范围的元素
zrangebyscore key min max [widthscores] [limit offset count]
# 获取元素分数
zscore key member
# 获取元素数量
zcard key
# 某score下对应的value值,作用是删除元素
zrem key
# 增加某个元素分数
zincrby key increment  member
# 获取指定分数范围内元素个数
zcount key min max
# 从提供的键名列表中的第一个非空排序集中弹出一个或多个元素
zmpop 1 key min count 1
# 获取下标值,获得排名
zrank key values
# 逆序获取下标值
zrevrank key values

Bitmap

k offset v

# setbit 键 偏移位 value只能01
setbit key offset value
getbit key offset
# 获取
getbit key offset
# 统计字节数占用
strlen key
# 统计全部键里面含1多少个
bitcount key
# 在多个键(包含字符串值)之间执行按位操作并将结果存储在目标键中
bitop operation destkey key [key ...]

HyperLogLog:

k v v v
基数统计

在这里插入图片描述
在这里插入图片描述

GEO

k longitude latitude member [longitude latitude member]

中文乱码解决
在这里插入图片描述
geopos
在这里插入图片描述
在这里插入图片描述
geohash
在这里插入图片描述
在这里插入图片描述
geolist
在这里插入图片描述
在这里插入图片描述
geodist在这里插入图片描述
在这里插入图片描述
georadius
以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

GEORADIUS city 116.418017 39.914402 10 km withdist withcoord count 10 withhash desc
GEORADIUS city 116.418017 39.914402 10 km withdist withcoord withhash count 10 desc

Stream

对标MQ不建议使用

Bitfield

字符串变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改

https://ascii.org.cn
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
溢出控制

  1. wrap:使用回绕(wrap around)方法处理有符号整数和无符号整数的溢出情况
  2. sat:使用饱和计算(saturation arithmetic)方法处理溢出,下溢计算结果为最小的整数值,而上溢计算的结果为最大的整数值
  3. fail:命令将拒绝执行那些会导致上溢或下溢情况出现的计算,并向用户返回空值表示计算未被执行
http://www.lryc.cn/news/272840.html

相关文章:

  • 2023年广东省网络安全B模块(笔记详解)
  • 每日力扣算法题(简单篇)
  • Flume基础知识(三):Flume 实战监控端口数据官方案例
  • 通过IP地址如何进行网络安全防护
  • Vue.js 中使用 Watch 选项实现动态问题判断与展示答案
  • python笔记-自用
  • 安克创新与火山引擎数智平台开展合作:数据分析降门槛 数据协同破边界
  • LDD学习笔记 -- Linux内核模块
  • springboot整合springbatch批处理
  • 答案解析——C语言—第2次作业:转义字符
  • HTML5-新增表单input属性
  • css-、串联选择器和后代选择器的用法
  • nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件
  • K8S Dashboard登录Token过期问题处理
  • x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具
  • 前端知识点(面试可看) —— JS
  • CSRF总结
  • 降维算法的简单介绍
  • k8s的声明式资源管理
  • Git | tag相关命令
  • 【Java期末】学生成绩管理系统
  • 顶顶通呼叫中心中间件通过队列外呼拨打另一个sip并且放音(mod_cti基于FreeSWITCH)
  • SQL Server从0到1——报错注入
  • 【python高级用法】线程
  • 分布式高级知识点
  • Linux 命令之 dpkg 的简单使用
  • Ubuntu20.04服务器使用教程(安装教程、常用命令、故障排查)持续更新中.....
  • 访问学者J1签证的申请流程
  • 51单片机(STC8)-- GPIO输入输出
  • 【实用安装教程】在win系统下制作Mac OS镜像启动U盘