Redis基本操作

Redis基于事件驱动模型, 单进程单线程. 也是内存数据库, 不同于Memcached的是, Redis提供持久化存储, 支持多种数据结构, 支持数据备份.

优势

  1. 内存数据库, 支持读并发11万,写并发8万
  2. 可持久化, 通过RDB(生成数据文件,启动时载入)和AOF(记录下到某一时刻的写操作)持久化数据
  3. 支持多种数据结构, string,list,set,sorted sort,hash,因此可称为数据结构服务器
  4. 支持消息订阅与发布功能
  5. 支持事务, Multl命令标记开始, 中间执行多条操作, 在执行exec之前命令都放到队列里面。 不过只能保证在客户端发起的事务命令可以连续执行,不会插入其他请求

安装

wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make

make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

下面启动redis服务.

cd src
./redis-server

启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

cd src
./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

主从复制原理

一般是一台主库, 多台从库.  主库写操作, 同时更新从库. 从库进行读操作, 一般不进行写操作, 

复制原理

  1. 复制初始化阶段:  从库启动时, 会向主库发送SYNC请求, 主库收到请求后保存当前快照, 同时缓存在此期间的执行命令. 完成后将缓存命令和快照发送给从库, 从库载入快照, 执行缓存的命令. 
  2. 复制同步阶段:  主库每执行一条写操作, 发送给从库, 从库也执行一遍.
原文地址:https://www.cnblogs.com/tanxing/p/6628246.html