Redis01_概述安装keyStringList列表Set集合Hash哈希Zset有序集合配置文件详解

Posted TZ845195485

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis01_概述安装keyStringList列表Set集合Hash哈希Zset有序集合配置文件详解相关的知识,希望对你有一定的参考价值。

①. Redis的概述

  • ①. redis是一款高性能的开源NOSQL系列的非关系型数据库,Redis是用C语言开发的一个开源的高键值对(key value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前Redis支持的键值数据类型如下:(字符串类型String、哈希类型hash、列表类型list、集合类型set、有序集合类型sortedset)

  • ②. 缓存思想:从缓存中获取数据
    有数据,直接返回
    没有数据,从数据库查询,将数据放入缓存,返回数据

  • ③. 使用场景

  1. 高频次,热门访问的数据,降低数据库IO
  2. 分布式架构,做session共享
  3. 多样的数据结构存储持久化数据
    在这里插入图片描述
  • ④. Redis默认端口6379的由来(Alessia Merz)
    在这里插入图片描述
  • ⑤. 默认16个数据库,类似数组下标从0开始,初始默认使用0号库
    使用命令 select dbid来切换数据库。如: select 8
    统一密码管理,所有库同样密码。
    dbsize查看当前数据库的key的数量
    flushdb清空当前库
    flushall通杀全部库
    在这里插入图片描述

②. Redis6的安装

  1. redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
  2. redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
  3. redis-check-dump:修复有问题的dump.rdb文件
  4. redis-sentinel:Redis集群使用
  5. redis-server:Redis服务器启动命令
  6. redis-cli:客户端,操作入口

在这里插入图片描述

  • ④. 由于我们的服务器在青牛云上,对端口进行了映射处理,这里的redis的端口也在配置文件中修改成了9736,我们在进入redis客户端的时候要使用redis-cli -p 9736

③. 常用五大数据类型

①. Redis键(key)

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

②. 字符串类型:String

  • ①. String是Redis最基本的类型,一个key对应一个value。

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

  • ③. String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M

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

127.0.0.1:9736> keys *
(empty array)
127.0.0.1:9736> set name TANGZHI
OK
127.0.0.1:9736> get name
"TANGZHI"
127.0.0.1:9736> del name
(integer) 1
127.0.0.1:9736> get name
(nil)
  • ④. 其他关于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以新换旧,设置了新值同时获得旧值
127.0.0.1:9736> set age 24 
OK
127.0.0.1:9736> incr age
(integer) 25
127.0.0.1:9736> get age
"25"
127.0.0.1:9736> decr age
(integer) 24
127.0.0.1:9736> get age
"24"
127.0.0.1:9736> incrby age 10
(integer) 34
127.0.0.1:9736> decrby age 10
(integer) 24
127.0.0.1:9736> get age
"24"

以上是关于Redis01_概述安装keyStringList列表Set集合Hash哈希Zset有序集合配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章

REDIS01_概述安装key字符串String列表List集合SetHash哈希Zset有序集合配置文件详解

REDIS6_分布式存储极致性能目录

REDIS6_分布式存储极致性能目录

Redis_01

Redis_01

REDIS01_单线程的概述多线程的引入概述IO多路复用如何开启多线程