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)
-
②. 缓存思想:从缓存中获取数据
有数据,直接返回
没有数据,从数据库查询,将数据放入缓存,返回数据 -
③. 使用场景
- 高频次,热门访问的数据,降低数据库IO
- 分布式架构,做session共享
- 多样的数据结构存储持久化数据
- ④. Redis默认端口6379的由来(Alessia Merz)
- ⑤. 默认16个数据库,类似数组下标从0开始,初始默认使用0号库
使用命令 select dbid来切换数据库。如: select 8
统一密码管理,所有库同样密码。
dbsize查看当前数据库的key的数量
flushdb清空当前库
flushall通杀全部库
②. Redis6的安装
-
①. Redis6.0.9安装
-
③. linux下Redis的目录信息
- redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
- redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
- redis-check-dump:修复有问题的dump.rdb文件
- redis-sentinel:Redis集群使用
- redis-server:Redis服务器启动命令
- 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 10 | 10秒钟:为给定的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有序集合配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章