1:Redis 简介

 

      Redis 是一个开源的,使用c语言编写,主持网络,可基于内存工作亦可持久化(AOF,RDB)的日志型key-values(键值对)数据库,一个速度极快的非关系型数据库,也就是我们所说的nosql 数据库,他可以存储(key)与5种不同类型的值(vale)之间的映射(mapping),可以将存储在内存中的键值对数持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展性能,并且他还提供了多种语言的APL。

      Redis 的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这个称为半持久化RDB);也可以吧每一次数据变化都写到一个append onlyfile (AOF)里面(这称为“全持久化”)

      全持久化与半持久化的方式在工作中适当的使用,在如今的生产环境中,如果使用全持久化的方式可能会造成append onlyfile 的文件过大,如果是半持久化的话又没有办法保证数据的安全性,所有希望大家适当的使用。

2:Redis 的工作原理

        Redis 服务器程序是一个单进程模型,也就是说在一台服务器上可以开启多个Redis 进程(多实例),而Redis的实际处理速度则完全依靠于主进程的执行速率,若服务器上只执行一个Redis 进程,当多个客户端同时访问时,服务器处理能力会有一定程度的下降,若在一个服务器上开启多个Redis进程,Redis在提高并发处理能力的同时也会给CPU造成很大的压力,所以在实际生产环境中,结合实际服务器环境来决定如何使用。

3:Redis 的优点

  •   具有极高的数据读写速度:数据读取速度最高可达11万次/s  ,数据写入速度可高达8万1千次/s
  •   主持丰富的数据类型,主持丰富的数据类型不仅支持key-values数据类型,还支持string ,lists,hashes,sets,及ordered sets 等数据类型操作。
  • 支持数据的持久化,在这一点Redis 远远强于mamcached,Redis 可以将数据保存到磁盘中,重启后还可以继续加载使用
  • 原子性   Redis 的所有操作都是原子性的
  • 支持数据备份及master-salve 模式的数据备份。

4:Redis 与memcached 及其他数据库的对比

        Redis 经常被拿来与mamcached进行比较,两首都可用于存储(键值)数据,性能也相差无几,但是Redis 能够自动以两种不同的方式将数据写入硬盘,而且Redis除了能存储普通的字符串键,还能存储其他四种数据结构,使得Redis可以用于解决更为广泛的问题,并且可以作为主数据库使用,又可以作为其他存储系统的辅助数据库。

redis数据库参数配置 redis 数据库_redis数据库参数配置