Redis知识点总结

1、Redis是什么:

    redis是内存中的数据结构存储系统,它可以作数据库、缓存和消息代理。它支持多种类型的数据结构:字符串strings、列表lists、散列 hashes、集合sets、有序集合sorted sets(zset)。它可以持久化数据到磁盘中,也可以通过主从复制的特性,提高访问速度。使用redis进行数据缓存可以极大的提高系统的响应速度。它是key-value型的数据库

2 数据结构:

  字符串String : 可以存储字节串、整数、浮点数。可以对数值进行自增、自减等。

          主要命令:get set del  incr(自增)、decr(自减)

 列表list:一个列表结构可以有序的存储多个字符串,一个键对应多个值

          主要命令: lpush rpush lpop rpop lindex(根据索引获取单个元素) lrange(获取该范围上的所有值)

 集合 set:列表中存储多个字符串,并且字符串不重复

          主要命令: sadd、spop、srem、semembers(返回集合包含的所有元素)、sismember(检查给定元素是否存在在集合 中)

散列hash : 可以存储多个键值对之间的映射

          主要命令:hset、hget、hgetAll、hdel、hlen

有序集合zset: 存储着成员与分值之间的映射。根据分值进行排序

         主要命令: zadd、zrem、zrank(获取排名)

3、事务

     redis的事务基于 multi、exec、watch、unwatch、discard。这五个命令可以让用户在不被打断的情况下执行多个操作。

    被multi和exec包裹的所有命令一个接一个地执行,直到所有命令执行完毕为止,是串行化执行

4、持久化

   持久化是数据安全的一种保证。它使得redis重启后仍然存在。持久化的方式有:快照和只追加文件。根据自己的时间情况选择其中一个或者全选。

  持久化方式:

  (1) 快照: 它可以将存在与某一时刻的所有数据都写入硬盘里。

          使用命令bgsave创建快照,将会创建一个子进程

         save命令创建快照:快照创建完毕之前不会再响应任何其他命令。阻塞当前线程。不常用

         缺点: 如果只用快照持久化来保存数据,如果系统崩溃,将会丢失最近一次生成快照之后更改的所有数据

                     如果redis占用的内存越来越多,bgsave在创建子进程时耗费的时间也会越来越长。所以可以考虑关闭自动保存,通过手动发送bgsave或save进行持久化

  (2)    AOF(只追加文件)

         aop:该持久化将被执行的写命令写到AOF文件的末尾。 同步的选项有always、everysec、no。

                  always :每个redis写命令都要同步写入硬盘,会严重降低redis速度。

                  everysec: 每秒执行一次同步,显式地将多个写命令同步到硬盘。用户最多和丢失一秒之内产生的数据

                  no:让操作系统来决定应该何时进行同步。系统崩溃时会丢失不定的数据。

         问题: 体积不断增大的AOF文件会占据磁盘大量空间。而且执行还原操作时的时间可能会很长

                   解决办法:发送bgrewriteAOF命令,通过移除冗余命令来重写aof文件

5、复制

   复制可以让其他服务器拥有一个不断更新的数据副本,从而使得拥有数据副本的服务器可以处理客户端发送的请求。

  一个主服务器向多个服务器发送更新,并使用从服务器来处理所有读者请求。

 过程: 从服务器连接主服务器-----》主服务器执行bgsave创建快照,将快照发送给你从服务器-----》从服务器丢弃所有旧的数据,执行主服务器发来的快照

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值