Redis入门(三)

第六章 Redis的keys的通用操作

想要获得所有的keys :keys *

查询以my开头的keys:keys my?

删除某个指定的key:del my1 my2 my3

想看某一个key是否存在:exists my1 ,如果存在返回1,不存在返回0

对key进行重命名的操作:rename company(old) newcompany(new)

设置过期时间,单位是秒:expire newcompany 1000

查看key所剩下的超时的时间:ttl newcompany,如果没有设置会返回-1

获得指定key的类型:type newcompany

第七章 Redis的特性

1.多数据库:

一个Redis实例可以包含多个数据库,客户端可以指定哪个Redis实例的数据库。一个Redis实例最多可以提供16个数据库,默认是第0号数据库。可以通过命令select 1,来选择1号数据库。如果想要将0号数据库中的key到1号数据库中,可以:move myset 1.

2.支持事务的操作:

  • multi:开启事务。可以理解为关系型数据库中的begin transaction。

  • exec:相当于提交。

  • discard:相当于回滚。

第八章 Redis持久化

基本介绍:

Redis的高性能是由于所有的数据都存储在内存当中,为了能保证Redis在服务器重启之后依然保持数据不丢失,那么就需要将数据从内存当中同步到硬盘上。这就叫做Redis的持久化。

两种持久化的方式:

  • RDB方式

  • AOF方式

持久化使用方式介绍:

  • RDB持久化:默认支持的,不需要配置的。RDB方式指的是在指定的时间间隔内,将内存中的数据库快照写入到磁盘。

  • AOF持久化:将以日志的形式,记录Redis服务器所做的每一次操作,Redis启动之初会读取该文件来重新构建数据库,保证启动后数据库中的数据是完整的。

  • 不持久化:通过配置来禁用Redis的持久化功能,我们这时候可以认为Redis就是一个缓存的机制。

  • 同时使用RDB和AOF两种方式。

详细介绍RDB

  • 优势:整个Redis数据库只包含一个文件。如果出现灾难性故障可以轻易的恢复。性能最大化,在开始持久化的时候唯一需要做的只是分化出一些进程,之后再有子进程进行持久化操作,启动效率更高。

  • 缺点:如果想保证数据的高可用性,最大限度避免数据的丢失,RDB就不是一些很好的选择。系统一定在定时持久化之前出现宕机的情况,那么没有来得及往硬盘上写,数据就丢失了。子进程进行持久化的时候,如果数据集过于庞大,那么持久化可能会暂停几百毫秒,甚至是1秒中,造成数据丢失。

  • 配置:在Redis的redis.conf 文件中,在文件100行左右,会发现有几段配置:save 900 1—> 900秒至少有1个ke发生变化,Redis会往服务器写一次。下面也有关于文件名称,文件保存路径的一些配置。默认保存的文件名叫做dump.rdb。

详细介绍AOF

  • 优势:更高的数据安全性。三种同步策略:每秒同步(异步,效率高,但是如果系统宕机,那么宕机这1秒的数据就丢失了)、每修改同步(同步操作,效率低,但是安全)、不同步。对日志的写入操作采用的是append模式,所以即使写入过程中服务器宕机,那么也不会影响已经写入的数据。如果Redis在写入文件过程中宕机,那么在Redis下一次启动之前,我们可以通过redis-check-aof这个工具帮助我们解决数据一致性的问题。如果数据过大,可以采取自动启动重写机制,不断将修改的数据写入老的文件当中,同时也会创建一个新的文件,来记录那些修改被执行了。因此在进行重写切换的时候,可以更好的保证数据的安全性。AOF格式更加清晰,由日志文件记录所有的操作,可以用于重建。

  • 劣势:文件略大一些。根据同步策略的不同,AOF在效率上低于RDB。

  • 配置:在Redis的redis.conf 可以看到一行命令appendonly no,如果想使用aof可以把no修改为yes。这时候会产生一个文件,叫做appendonly.aof。关于同步策略的设置:always—>每次修改同步 everysec—>每秒同步.no—>不同步。修改配置成功后,需要把Redis断开连接,接下来需要重新启动Redis。

总结:

介绍了NOSQL、Redis、Jedis(重点掌握)。重点掌握String和hash数据类型操作。

发布了36 篇原创文章 · 获赞 46 · 访问量 7895

猜你喜欢

转载自blog.csdn.net/weixin_41860630/article/details/81416944