• Redis数据库【一文教必备操作】


    每篇前言:


    在这里插入图片描述

    Redis数据库

    • 这是个非关系型数据库哦~那么非关系型数据库又是啥嘞?下面就来讲一讲:

    1.NoSQL简介:(Not Only SQL)

    NoSQL指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL是web2.0时代海量数据催生的产物。

    特点:

    1. 不支持SQL语法
      NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的语法,以及擅长的业务场景。

    2. 读写性能高
      NoSQL数据库具有非常高的读写性能,尤其在海量数据下,它的表现非常优秀。

    3. 灵活的数据模型
      NoSQL的存储方式十分灵活,存储方式可以是JSON文档,键值对(key,value)或其他方式。

    2.Redis简介:

    Redis是意大利人开发的一款内存高速缓存数据库,是一个高性能的键值对(key-value)存储数据库。全称是:Remote Dictionary Server(远程数据服务),使用C语言编写,并以内存作为数据存储介质,所以读写数据的效率极高。

    特性:

    1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

    2. Redis不仅仅支持简单的key-value类型的数据,同时还把value分为list,set,zset,hash等数据结构存储。

    3. 因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。

    3.Redis数据模型:

    • Redis是key-value的数据结构,每条数据都是一个键值对。

    • 键的类型是字符串。
      (注意:键不能重复)

    • 值的类型分为五种:

      1. String ————> 字符串

      2. Hash ————> 哈希 {key:value}

      3. List ————> 列表

      4. set ————> 集合

      5. Zest ————> 有序集合
        在这里插入图片描述

    4.Redis的基本使用:

    1. 连接redis:redis-cli (中间没有空格哦)
      在这里插入图片描述
    • 127.0.0.1是本机地址;
    • 6379是端口号。
    1. 退出:exit

    2. 操作服务端:sudu service redis start/stop/restart
      让redis服务器开始/停止/重启,默认都是开启状态~

    3. 切换数据库:select n

    数据库没有名称,默认是16个,通过0-15标识,连接redis默认选择第一个数据库。

    5.Redis五大数据类型使用:

    (1)String类型

    string是redis最基本的类型,一个key对应一个value。

    1. 设置数据:set key value

    2. 查看数据:get key

    3. 追加数据:append key value

    4. 删除数据: del key

    在这里插入图片描述

    1. 添加多个数据: mset key value [key2 value2...]
      (中间空格分开!)

    2. 查看多个数据: mget key [key2...]

    在这里插入图片描述

    1. 取值的一部分: getrange key start end
      (注意:两边都闭)
      在这里插入图片描述

    拓展—全局key操作:

    对redis的五个数据类型都适用的命令~
    1. 查看所有的key: keys *
      (中间要有空格)
      在这里插入图片描述

    2. 删除键值对:del key
      exists key 查看key是否存在,如果返回1表示存在;返回0表示不存在。

    两种配合使用方法:

    • 第一种: del key exists key

    • 第二种:先exists keydel key

    1. 改名: rename key new_key

    2. 设置过期时间: expire key seconds
      ttl key查看时间 (如果返回-1表示过期时间已经被删除;如果查看的键不存在,则返回-2) ;

    3. 删除过期时间:persist key

    (2)List类型

    List类型是一个字符串列表,可以在列表头部或者尾部添加/删除数据;
    在插入数据时,如果该键并不存在,Redis将为该键创建一个。
    1. 尾部添加数据: rpush key value[value...]
      数据之间用空格分开。
    • 头部添加数据:lpush key value [value...]

    在这里插入图片描述

    1. 查看数据: lrange key start stop
      l表示列表,通过范围获取值,包括start和stop。
    • 查看某个数据:lindex key 索引下标
      在这里插入图片描述
    1. 修改数据: lset key 索引下标 value
      在这里插入图片描述

    2. 尾部删除数据: rpop key

    • 头部删除数据:lpop key
    1. 指定删除: lrem key 删除次数 指定的值
      如果删除次数是0,则意思是全部删除。
      在这里插入图片描述

    (3)Hash类型

    在这里插入图片描述

    1. 添加数据: hset key field value
      如果是新增加的数据则返回1;
      如果是本来就有的域,则变相为修改域所对应的值,返回为0.
      在这里插入图片描述在这里插入图片描述
    • 如果修改某个域所对应的值,直接用添加数据的命令就可以,会覆盖掉,就相当于修改数据了。

    • hmset 设置多个

    1. 查看某一个域值: hget key field
    • 查看多个域对应的值:hmget key field [field...]
    • 查看所有的field和value:hgetall key
      在这里插入图片描述
    1. 查看所有的value: hvals key
      在这里插入图片描述

    2. 查看所有的field: hkeys key
      在这里插入图片描述

    3. 删除指定的域和值: hdel key field

    • 删除所有:del key

    (4)Set类型(无序集合)

    Set类型为无序的字符集合,元素具有唯一性,不重复。
    (member为key对应的值)
    1. 添加数据: sadd key member [member...]

    2. 查看数据: smembers key

    3. 随机删除: spop key

    4. 指定删除 : srem key member [member...]

    5. 集合的交并差集:
      在这里插入图片描述

    (5)zset类型(有序集合)

    【Sorted Set类型(有序集合)】

    每一个成员都会有一个分数(score)与之关联。
    成员是唯一的,但是分数(score)却是可以重复的。
    1. 添加数据: zadd key score member [score2 member2...]
      同样如果成员存在,可以用添加数据的命令修改成员对应的分数,覆盖。
      在这里插入图片描述

    2. 查看数据: zrange key start stop
      通过索引查看

    • 通过scores值查看:zrangebyscore key min max
      如果相同分数对应多个成员,那么多个成员按ascii排序。
      在这里插入图片描述
    1. 删除数据: zrem key member [member...]
      在这里插入图片描述

    2. 通过索引删除多个数据: zremrangebyrank key min max
      在这里插入图片描述

    • 通过scores值删除:zremrangebyscore key min max
    1. 查看分数: zscore key member member是成员。
      在这里插入图片描述
  • 相关阅读:
    目标检测YOLO实战应用案例100讲-基于非合作运动雷达辐射源的杂波建模方法与目标检测研究
    VR全景拍摄酒店,为用户消除“不透明度”
    Git入门---简介,常用命令
    JAVAEE初阶相关内容第十一弹--多线程(进阶)
    7. 迭代器iterator
    初识MongoDB及安装
    Vxlan网络和flannel记录
    html实现爱情浪漫表白甜蜜时刻(附源码)
    ES6之 变量的解构赋值 ➕ 扩展运算符(…)
    Bootstrap的旋转器组件
  • 原文地址:https://blog.csdn.net/qq_44907926/article/details/122350372