lenf 发表于 2015-7-21 10:21:30

Redis 简介

  一、Redis 简介
  redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。 这些数据类型支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,支持各种不同方式的排序。
  redis 与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改 操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
  
二、Nosql DB简介
  1.什么是Nosql DB?
  NoSQL,意即反SQL运动,是一种非关系型的数据存储,key/value键值对存储。
  现有Nosql DB 产品: Redis/MongoDB/Memcached/Hbase/Cassandra/ Tokyo Cabinet/Voldemort/Dynomite/Riak/ CouchDB/Hypertable/Flare/Tin/Lightcloud/ KiokuDB/Scalaris/Kai/ThruDB,......
  2.为什么要使用NOSQL非关系数据库?

[*]High performance - 对数据库高并发读写的需求
[*]Huge Storage - 对海量数据的高效率存储和访问的需求
[*]High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求
  
三、Redis数据结构和存储方式
  redis目前提供四种数据类型:string,list,set及zset(sorted set)。
  Redis的存储分为内存存储、磁盘存储和log文件三部分,配置文件中有三个参数对其进行配置。

[*]save seconds updates :指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。
[*]appendonly yes/no :是否在每次更新操作后进行日志记录。如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据 文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中。
[*]appendfsync no/always/everysec :数据缓存同步至磁盘的方式。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次。
页: [1]
查看完整版本: Redis 简介