• Redis初识


    目录

    前言

    一、Redis是什么?

    二、下载与安装

    1.下载

    2.安装

    3.启动Redis

    三、Redis操作

    3.1基本操作

    3.2五种常用数据类型

    3.2.1.string

    基础命令

    数值型数据

     3.2.2 Hash

    基础命令

    3.2.3 List

    基本操作

     3.2.4 Set

    基本使用

    3.2.5 sorted_set

    基础操作

    总结

    前言

    由于关系型数据库本身存在性能瓶颈和扩展困难的问题,导致系统在面对高并发访问时越来越力不从心。这个时候,出现了一种全新的数据库设计理念,也就是使用非关系型数据库,仅存储数据,不存储关系。下文将详细介绍一种非关系型数据库:Redis

    一、Redis是什么?

    Redis(REmote DIctionary Server)是一款用C语言开发的一个开源高性能键值对(key-value)数据库。该数据库内部采用单线程机制进行工作且在该中线程机制下依然能保持良好的性能,官方提供测试数据表示50个并发下,执行100000 个请求,读的速度是110000 次/s,写的速度是 81000次/s。

    二、下载与安装

    1.下载

    Linux 版 (适用于企业级开发)

    • Redis 高级开始使用
    • 以4.0 版本作为主版本

    Windows 版本 (适合零基础学习)

    • Redis 入门使用 以 3.2 版本作为主版本
    • 下载地址:https://github.com/MSOpenTech/redis/tags

    2.安装

    Redis压缩文件夹解压即安装

    3.启动Redis

    服务器启动

    方式1:双击redis-server.exe

    方式2:指令redis-server.exe redis.windows.con

    客户端连接

     

    三、Redis操作

    3.1基本操作

    添加数据

    命令:set key value

    例如:set person teacher

    查询信息

    命令:get key

    清空屏幕

    命令:clear

    帮助

    命令:help 命令名称

    退出客户端命令行

    命令:quit exit

    3.2五种常用数据类型

    stringString
    hashHashMap
    listLinkedList
    setHashSet
    sorted_setTreeSetuiuu

    3.2.1.string

    • 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
    • 存储数据的格式:一个存储空间保存一个数据
    • 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用
    基础命令

    set key value===>添加修改数据

    get key===>获取

    del key ===>删除

    mset key value key value...===>批量添加

    mget key key key...===>批量获取

    strlen key===>获取数据长度

    getrange key 位置 位置===>获取指定key的位置数据

    setrange key index value===>修改部分值

    getset key value===>修改值,并返回原数据

    数值型数据

    如果想要利用decrby给一个正值,只需要给一个负的value即可

    具有生命周期的数据

    setex key seconds value===>设置键的过期时间

    ttl key ===>查看key的剩余时间

    如果某个key已经被实例化出来,这个时候要设置过期时间,可以使用EXPIRE key seconds命令

     3.2.2 Hash

    • 存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
    • 存储结构:一个存储空间保存多个键值对数据
    • hash类型:底层使用哈希表结构实现数据存储
    基础命令

    添加/修改数据

    格式:hset key field value

    获取数据

    格式:hget key field

    格式:hgetall key

    添加/修改多个数据

    格式:hmset key field1 value1 field2 value2 …

    获取多个数据

    格式:hmget key field1 field2 …

    获取哈希表中所有的字段名或字段值

    格式:hkeys key

    格式:hvals key

    获取哈希表中字段的数量

    格式:hlen key

    获取哈希表中是否存在指定的字段

    格式:hexists key field

    设置指定字段的数值数据增加指定范围的值

    格式:hincrby key field increment

    格式:hincrbyfloat key field increment

    注意事项:

    1.hash类型下的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象。如果数据未获取 到,对应的值为(nil)

    2.每个 hash 可以存储 2^32^-1个键值对

    3.hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash设计初衷不是为了 存储大量对象而设计的,因此不可滥用,更不可以将hash作为对象列表使用 4.hgetall 操作可以获取全部属性,如果内部field过多,遍历整体数据效率就很会低,有可能成为数 据访问瓶颈

    3.2.3 List

    • 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
    • 存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
    • list类型:保存多个数据,底层使用双向链表存储结构实现
    基本操作

    添加/修改数据

    lpush key value1 [value2] ……

    rpush key value1 [value2] ……

    获取数据

    lrange key start stop

    lindex key index

    llen key

    获取并移除数据

    lpop key rpop key

    更新操作

    lset key 下标 新数据

    作用:lset将列表中指定下标的值替换为另外一个值,

    # 如果不存在列表我们去更新就会报错

    将某个具体的value插入到列中的某个元素的前面或者后面!

    LINSERT mylist before "world" "other"

    LINSERT mylist after "world" "other"

    注意事项

    1.list中保存的数据都是string类型的,数据总容量是有限的,最多2^32^-1个元素 (4294967295)

    2.list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出 栈操作

    3.获取全部数据操作结束索引设置为-1

    4.list可以对数据进行分页操作,通常第一页的信息来自于list,第2页及更多的信息通过数据库的形式加 载

     3.2.4 Set

    • 存储需求:存储大量的数据,在查询方面提供更高的效率
    • 存储结构:能够保存大量的数据,高效的内部存储机制,便于查询
    • set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的
    基本使用

     添加数据

    sadd key member1 [member2]

    获取全部数据

    smembers key

    删除数据

    srem key member1 [member2]

    获取集合数据总量

    scard key

    判断集合中是否包含指定数据

    sismember key member

    3.2.5 sorted_set

    基础操作

    添加数据

    zadd key score1 member1 [score2 member2]

    获取全部数据 

    zrange key start(开始索引) stop(结束索引) [WITHSCORES]

    注意:[WITHSCORES]表示 除了数据还 可以显示分值

    反转

    zrevrange key start stop [WITHSCORES]

    删除数据

    zrem key member [member ...]

    获取集合数据总量

    zcard key

    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了Redist的使用,包括Redis下载安装、几种数据类型,以及指令操作方式,感谢收看,哈哈哈哈哈。

  • 相关阅读:
    CSS优先级
    浅析Linux进程间通信方式之消息队列
    SpringDataJPA-@Query
    VLAN trunk扩展 MUXVLAN 原理与实验
    Elasticsearch安装配置
    libcurl库使用
    SQL加解密注入详解
    Ts官方文档翻译-Generic范型
    SCI 文章被拒是一种怎样的体验? - 易智编译EaseEditing
    ReLU,Sigmoid,Tanh,softmax【基础知识总结】
  • 原文地址:https://blog.csdn.net/weixin_51450341/article/details/132737009