背景:

  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,完成记录数字)

1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合的更多相关文章

  1. redis 基本数据类型-字符串(String)

    不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...

  2. python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

    #python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...

  3. redis 五大数据类型之string篇

    一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...

  4. Redis ZSet 有序集合

    有序集合类型与集合类型的区别就是他是有序的.有序集合是在集合的基础上为每一个元素关联一个分数,这就让有序集合不仅支持插入,删除,判断元素是否存在等操作外,还支持获取分数最高/最低的前N个元素.有序集合 ...

  5. PHP Redis - zSet(有序集合)

    有序集合与集合一样,string类型元素的集合,不允许重复的成员. 有序集合,每个元素都会关联一个 double 类型的分数.Redis 通过分数为集合的成员进行从小到大的排序 有序集合的成员是唯一的 ...

  6. Redis基本数据类型以及String(一)

    前言:     Redis也有自己的数据类型,包含string,list,hash,set,sorted set.下面就对每种数据类型原理以及操作做一个详细的介绍.     Redis是面向编程的语言 ...

  7. Redis的数据类型之String

    Redis主要支持的数据类型有5种:String ,Hash ,List ,Set ,和 Sorted Set. Redis数据类型String string类型在redis中是最常见的类型,valu ...

  8. 专题二:redis的数据类型之string

    一.redis的数据存储格式 redis本身是一个Map,其中所有的数据都是采用 "key:value"的方式进行存储的. 我们说的数据类型是数据存储的类型,也就是对应下图的val ...

  9. python-day02数据类型-字符串和列表的操作

    while循环: while True: 条件语句....... 关于break和continue,break:跳出当前的循环                               contnu ...

  10. python基础之数据类型/字符串/元组/列表/字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

随机推荐

  1. Linux 端口及防火墙常用命令

    Linux 端口及防火墙操作 查看端口操作 一. netstat命令 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l ...

  2. pandas之excel操作

    Excel 是由微软公司开发的办公软件之一,它在日常工作中得到了广泛的应用.在数据量较少的情况下,Excel 对于数据的处理.分析.可视化有其独特的优势,因此可以显著提升您的工作效率.但是,当数据量非 ...

  3. 用 Go 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分. 示例: 输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1, ...

  4. Spring源码系列一:入门——Hello World

    前言 讲解Spring之前,我们首先梳理下Spring有哪些知识点可以进行入手源码分析,比如: Spring IOC依赖注入 Spring AOP切面编程 Spring Bean的声明周期底层原理 S ...

  5. .Net Core后端架构实战【2-实现动态路由与Dynamic API】

    摘要:基于.NET Core 7.0WebApi后端架构实战[2-实现动态路由与Dynamic API]  2023/02/22, ASP.NET Core 7.0, VS2022 引言 使用过ABP ...

  6. 【Vue】Vuex

    Vuex简介 概念: 专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中管理(读.写),也是一种适用于任意组件间的通信方式. 什么时候用Vuex ①多个 ...

  7. 基于RL(Q-Learning)的迷宫寻路算法

    强化学习是一种机器学习方法,旨在通过智能体在与环境交互的过程中不断优化其行动策略来实现特定目标.与其他机器学习方法不同,强化学习涉及到智能体对环境的观测.选择行动并接收奖励或惩罚.因此,强化学习适用于 ...

  8. node.js基于react项目打包部署到nginx中(Linux服务器)

    1.首先进入React项目目录. 2.执行npm命令进行打包(生成dist包或build包). npm run build 3.将打包的静态文件放入nginx目录中(可以自己新创建一个目录,也可以放在 ...

  9. 笔记:C++学习之旅 ---string 类、vector和迭代器

    string 类 #include <iostream> #include <string> using namespace std; int main() {         ...

  10. pinia的使用

    1. pinia和vuex的区别 pinia没有mutations,只有:state. getters. actions pinia分模块不需要modules(之前vuex分模块需要modules) ...