redis快速入门(知识梳理)

redis:Remote Dictionary Server(远程字典服务器)

是开源C语音编写,遵守BSD协议,是高性能(key/value)分布式内存数据库。
基于内存运行,数据结构服务器。redis:数据结构服务器(二进制安全,)
写:8w/s 读:11w/s ,单进程

启动redis ,redis端口默认为6379

#启动redis
redis-server redis.config
#进入端口为6379的redis
redis-cli -p 6370

redis五大数据类型

redis字符串(string)value最多512M
redis列表(list):按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
redis集合(set):无序无重复的hashtable
redis哈希(hash):是一个键值对结合Map
redis有序集合(Zset):sorted set有序集合>无重复,关联一个double类型的分数,有序,从小到大排列

redis常见命令

select index:切换数据库
expire key time:给某个数据设置过期时间
ttl key:查看key是否过期-1永不过期,-2已过期
exists key:判断key是否存在1存在0不存在
flushdb:清空当前库
flushall:清空所有库

string数据类型的操作命令

append:字符串后面叠加字符
setnx key v:判断时候存key,存在就插入失败0,不存在就插入成功1
mset key v:插入多个值
msetnx key v:插入多个不存在的值,如果有一个存在则都插入失效

list数据类型的操作命令

lpush key v v:从左边插入
rpush key v v:从右边插入
lrange 0 -1:从左边输出
lpop key:从左边排除
rpop key:从右边排除
llen key:list长度
lindex key index:获取list下标值
lrem key number value:删除n个value
ltrim key 开始index 结束index,截取指定范围后在赋值给key
rpoplpush:列表源 目的源

set数据类型的操作命令

sadd key v v:添加值
smembers key:打印set里面的值
scard key:获取集合里面有多少个值
srem key value:删除某个值

hash数据类型的操作命令()

hset key key v:插入一个键值
hget key key:获取hash里面key里面的键值;
hgetall key:获取hash 所有键值
hmset key key v key v:插入多个键值
hdel key key:删除hash的兼职

redis的持久化

rdb:
1、持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。
2、复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
3、哨兵:在复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制。
4、集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。
aof:
以日志的形式来记录每个写操作。(也就是记录redis的执行命令)

redis事务

首先谈谈redis支持事务吗?
答案是肯定支持,但是只是支持部分事务,
1,它先以 开始一个事务, 然后将多个命令入队到事务中, 最后由 命令触发事务, 一并执行事务中的所有命令
(1)为啥说redis只对事务部分支持嘞?看看下图大家就知道了

image.png

所以这里的事务可以理解为一个打包的批量执行脚本,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。所以说是部分支持!

redis的主从复制和哨兵模式

(1)主从复制:配从不配主
slaveof 主机域名 主机端口:在从机输入命令
info replication:查看连接信息


image.png

image.png



(2)一主二仆:
主机死掉,从机原地待命,主机重连,从机开始工作
从机死掉,连接断开,需要重新连接
slaveof no one:反客为主,使当前数据库停止与其他数据库的同步,转成主数据库
slave启动的成功连接到master后会发送一个sync(复制全量)命令

(3)哨兵模式

简单说就是反客为主的自动版。
通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。
当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。

在sentinel.conf文件配置一下

配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,127.0.0.1代表监控的主服务器,6379代表端口,1代表只有一个或一个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。

sentinel monitor mymaster 127.0.0.1 6379 1

启动哨兵进程

./redis-sentinel ../sentinel.conf

好这里就是redis的一个简要入门篇,希望大家多多努力成为自己想要的自己.

你可能感兴趣的:(redis快速入门(知识梳理))