首页 > 数据库 >1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合

1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合

时间:2023-06-19 23:44:57浏览次数:43  
标签:Set String 过期 数据类型 value 字符串 key 集合

背景:

  1. 这里说的数据类型是value的数据类型,key的类型都是字符串。
  2. 命令不区分大小写,而key的值是区分大小写的 
  3. help @+数据类型 会出现命令提示 比如 help@string,help@list

常见命令:

keys * 查看当前库所有key (匹配:keys *1)
exists key 判断某个key是否存在
type key 查看你的key是什么类型
exists key 判断某个key是否存在
del key 根据value选择非阻塞删除
unlink key 判断某个key是否存在
仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作
expire key 10 10秒钟:为给定的key设置过期时间(单位是s)
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
select 命令切换数据库
dbsize 查看当前数据库的key的数量
flushdb 清空当前库

 

字符串类型 - String
①. String是Redis最基本的类型,一个key对应一个value。

②. String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象

③. String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M
     String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList

④. 存储( set key value) 获取(get key) 删除(del key)

⑤. 其他关于String的操作指令

  • append key value    将给定的value 追加到原值的末尾
    strlen key    获得值的长度
    setnx key value    只有在key不存在时,设置key的值(分布式锁)
    incr key    将 key 中储存的数字值增1,只能对数字值操作,如果为空,新增值为1
    decr key    将 key 中储存的数字值减1,只能对数字值操作,如果为空,新增值为-1
    incrby / decrby key 步长    将key中储存的数字值增减。自定义步长
    mset key1 value1 key2 value2    同时设置一个或多个 key-value对
    mget key1 key2 key3    同时获取一个或多个value
    msetnx key1 value1 key2 value2    同时设置一个或多个key-value,当且仅当所有给定key都不存在,才会执行成功
    getrange key 起始位置 结束位置    获得值的范围,类似java中的substring,前包,后包
    setrange key 起始位置 value    用 value 覆写key所储存的字符串值,从起始位置开始(索引从0开始)。
    setex key 过期时间 value    设置键值的同时,设置过期时间,单位秒
    getset key value    以新换旧,设置了新值同时获得旧值

     ⑥. 分布式锁
    setnx key value

  • ⑦. 应用场景一:比如抖音无限点赞某个视频或者商品,点一下加一次 

  •  

  • ⑧. 应用场景二:是否喜欢的文章(阅读数:只要点击了rest地址,直接可以使用incr key 命令增加一个数字1,完成记录数字)

 

标签:Set,String,过期,数据类型,value,字符串,key,集合
From: https://www.cnblogs.com/cb1186512739/p/17492448.html

相关文章

  • Solution Set - “谁将重力悬空,坠入一场蔚蓝的梦”
    目录0.「NOISimu.」皮配⭐1.「BZOJ#4671」异或图2.「CF1158F」Densityofsubarrays3.「CF794G」ReplaceAll⭐4.「UR#15」「UOJ#225」奥林匹克五子棋5.「NOISimu.」么西⭐6.「UR#14」「UOJ#193」人类补完计划⭐7.「NOISimu.」伊莉斯8.「集训队互测2021」「LOJ#36......
  • Collection集合的遍历方式
    Collection集合的遍历方式方式一:迭代器遍历就是一个一个的把容器中的元素访问一遍。迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式。Collection集合获取迭代器lterator中的常用方法迭代器执行流程   publicclassCollectionDemo01{ ......
  • HashMap 、LinkedHashMap 、 Hashtable 、ConcurrentHashMap的使用区别和Collections
    LinkedHashMapLinkedHashMap的使用publicstaticvoidmain(String[]args){ LinkedHashMap<String,Integer>map=newLinkedHashMap<>(); //添加元素 Integerput1=map.put("大文",25); Integerput2=map.put("小文",26); Integer......
  • 声明式API replica controller vs replica set 对比
    1.在命令式API中,你可以直接发出服务器要执行的命令,例如: “运行容器”、“停止容器”等。在声明性API中,你声明系统要执行的操作,系统将不断向该状态驱动。可以想象成手动驾驶和自动驾驶系统。(多了会删除,少了会自动增加)  因此,在Kubernetes中,你创建一个API对象(使用CLI或RESTAPI)来表......
  • nodeSelector + deamonset
    DaemonSet配置文件的语法和结构与Deployment几乎完全一样,只是将 kind 设为 DaemonSet。选择运行节点:当指定.spec.template.spec.nodeSelector,DaemonSet将会在匹配的节点上创建pod。如果都没有指定,DaemonSet在所有node节点上创建pod. spec:  nodeSelector:.com/role:dev......
  • grep 搜索多个同时满足的条件 grep -nr sed 替换 hostnamectl set-hostname
    (二) GrepAND操作1. 使用-E'pattern1.*pattern2'grep命令本身不提供AND功能。但是,使用-E选项可以实现AND操作。  grep-E'pattern1.*pattern2'filename grep-E'pattern1.*pattern2|pattern2.*pattern1'filename第一个例子如下:(其中两个pattern的顺序是指定的)  $gre......
  • 各种数据类型的取值范围对比
    char:-128--127  unsignedchar: 0--255 byte:-2^7~2^7-1,即-128~127。1字节。Byte。末尾加Bshort:-2^15~2^15-1,即-32768~32767。2字节。Short。末尾加S有符号int:-2^31~2^31-1,即-2147483648~2147483647。4字节。Integer。无符号int:0~2^32-1。long:-2^63~......
  • (二)JS数据类型、数据类型检测、数据类型转换、运算符、操作网页元素
    一、数据类型【JS的基本数据类型有哪些?基本数据类型和引用数据类型的区别】  二、数据类型检测 三、数据类型转换【隐式转换、强制转换】  四、运算符  五、操作网页元素 ......
  • 十年老司机帮你整理最全Android中需要知道的Java集合框架
    前言子曰:温故而知新,可以为师矣。做android已经有好一段时间了,今天突然看到代码中写的各种用来存储数据的ArrayList、管理Activity的LinkedList、用来Retrofit请求数据时多个参数拼接的HashMap。也许使用已经成为了一种习惯,可是使用他的理由又开始在脑海中慢慢淡化了,故写一篇文章来......
  • Android-Kotlin-GET/SET 方法的使用
    上篇博客我们讲了kotlin的继承,今天接着往下讲解kotlin的get/set方法的使用。Student.ktpackagecn.kotlin.kotlin_oop04openclassPerson{openvarpersonName:String="我是父类的名字"}classStudent:Person(){/***name用private私有修饰,外界其他地方......