Redis 的整理

1.什么是redis,为什么用redis。有什么优势。

redis是一个高性能的键值数据库。redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势。

2.redis支持的数据类型

支持数据结构丰富(string(字符串),list(链表),set(集合),zset(sorted set - 有序集合))和Hash(哈希类型,md5加密出来的那个串)

3.redis是单线程单进程的

4.虚拟内存

        对于大多数数据库而言,最为理想的运行方式就是将所有的数据都加载到内存中,而之后的查询操作则可以完全基于内存数据完成。然而在现实中这样的场景却并不普遍,更多的情况则是只有部分数据可以被加载到内存中。
    在Redis中,有一个非常重要的概念,即keys一般不会被交换,所以如果你的数据库中有大量的keys,其中每个key仅仅关联很小的value,那么这种场景就不是非常适合使用虚拟内存。如果恰恰相反,数据库中只是包含少量的keys,而每一个key所关联的value却非常大,那么这种场景对于使用虚存就再合适不过了。
    在实际的应用中,为了能让虚存更为充分的发挥作用以帮助我们提高系统的运行效率,我们可以将带有很多较小值的Keys合并为带有少量较大值的Keys。其中最主要的方法就是将原有的Key/Value模式改为基于Hash的模式,这样可以让很多原来的Keys成为Hash中的属性。

5.redis 持久化

Redis为持久化提供了两种方式:

  • RDB:在指定的时间间隔能对你的数据进行快照存储。
  • AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。

Redis 提供了两种不同级别的持久化方式:RDBAOF,可以通过修改redis.config来进行配置

  • save 900 1 表示900s内如果有1条是写入命令,就触发产生一次快照,可以理解为就进行一次备份
  • save 300 10 表示300s内有10条写入,就产生快照
  • 当然如果你想要禁用RDB配置,也是非常容易的,只需要在save的最后一行写上:save ""
  • 如何开启aof模式:
  •  
  • appendonly yes         //yes 开启,no 关闭
  •  
  • # appendfsync always //每次有新命令时就执行一次fsync 
  • #这里我们启用 everysec
  •  
  • appendfsync everysec //每秒 fsync 一次
  •  

# appendfsync no    

你可能感兴趣的:(Redis 的整理)