1.redis简介?
1.1基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
1.2redis是一个key-value存储系统。
1.3它支持存储的value类型:string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。
1.4这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,
1.5与memcached一样,数据都是缓存在内存中。。
1.6redis会周期性的把更新的数据写入磁盘(rdb)或者把修改操作写入追加的记录文件(aof),
1.7并且在此基础上实现了master-slave(主从)同步
应用场景
(1)速度快
因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。
(2)支持丰富数据类型
支持string,list,set,sorted set,hash。
(3)支持事务,操作都是原子性
所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。
(4)丰富的特性
可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
二、redis适合的场景
(1)会话缓存(Session Cache)
最常用的一种使用Redis的情景是会话缓存(session cache)。
用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。
(2)全页缓存(FPC)
Redis还提供很简便的FPC平台。即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降。
(3)队列
Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。
(4)排行榜/计数器
Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)。
(5)发布/订阅
三、安装redis的操作过程
3.1实验环境的搭建
一主二从(所有主机都是新建保证实验环境纯洁)
主机信息 主机功能
server1(172.25.254.1) redis主服务器
server2(172.25.254.2) redis从服务器1
server3(172.25.254.3) redis从服务器2
真机(172.25.254.66) 客户端
3.2部署redis
获取软件包
将编译好得软件包发送给server2/3
开启Redis服务server1
开启Redis服务server2.3相同操作
使用redis-cli (redis命令行工具)进行测试
server2配置
server1插入数据
数据存放位置
[root@server2 utils]# cd /var/lib/redis/6379/
[root@server2 6379]# ll 写入数据的存放位置
total 4
-rw-r--r-- 1 root root 175 May 19 13:37 dump.rdb
server2检测
redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),
主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
从数据库的数据是以自己的主数据库为标准的