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初识_第1张图片

Redis初识_第2张图片

客户端连接

 

三、Redis操作

3.1基本操作

添加数据

命令:set key value

例如:set person teacher

Redis初识_第3张图片

查询信息

命令:get key

Redis初识_第4张图片

清空屏幕

命令:clear

帮助

命令:help 命令名称

Redis初识_第5张图片

退出客户端命令行

命令:quit exit

3.2五种常用数据类型

string String
hash HashMap
list LinkedList
set HashSet
sorted_set TreeSetuiuu

3.2.1.string

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

基础命令

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

get key===>获取

del key ===>删除

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

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

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

Redis初识_第6张图片

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

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

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

Redis初识_第7张图片

数值型数据

Redis初识_第8张图片

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

具有生命周期的数据

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

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

Redis初识_第9张图片

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

Redis初识_第10张图片

 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

Redis初识_第11张图片

获取哈希表中字段的数量

格式:hlen key

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

格式:hexists key field

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

格式:hincrby key field increment

格式:hincrbyfloat key field increment

Redis初识_第12张图片

注意事项:

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

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

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

3.2.3 List

  • 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
  • 存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
  • list类型:保存多个数据,底层使用双向链表存储结构实现Redis初识_第13张图片

基本操作

添加/修改数据

lpush key value1 [value2] ……

rpush key value1 [value2] ……

获取数据

lrange key start stop

lindex key index

llen key

Redis初识_第14张图片

获取并移除数据

lpop key rpop key

Redis初识_第15张图片

更新操作

lset key 下标 新数据

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

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

Redis初识_第16张图片

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

LINSERT mylist before "world" "other"

LINSERT mylist after "world" "other"

Redis初识_第17张图片

注意事项

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

Redis初识_第18张图片

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

Redis初识_第19张图片

总结

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

你可能感兴趣的:(redis,数据库,缓存)