初识Redis
Redis介绍
由Salvatore Sanfilippo写的key-value存储系统,是跨平台的非关系型数据库
Redis通常被称之为数据结构服务器,因为值(value)可以是字符串、哈希、列表、集合和有序集合等类型
Redis是完全开源的遵守BSD协议,是一个高性能的key-value数据库
- 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
- Redis不仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构存储
- Redis支持数据等备份,即master-slave模式等数据备份
Redis速度快原因
高性能的网络模型:IO多路复用的epoll模型,承载住非常高的并发量
纯内存操作,避免了很大io
单线程架构,避免了线程间切换的消耗
- 6.x之前:单线程,单进场
- 6.x以后,多线程架构,数据操作还是使用单线程,别的线程做数据持久化,其他操作
Redis八大特性
速度快:性能极高,读的速度是110000次/s,写的速度是81000次/s,数据存在内存中,c语言实现,单线程模型
持久化:rdb和aof
多种数据结构:
- BitMaps位图:布隆过滤器本质是字符串
- HyperLogLog:超小内存唯一值计数,12kb HyperLogLog本质是字符串
- CEO:地理信息定位本质是有序集合
支持多种编程语言:基于tcp通信协议,各大编程语言都支持
功能丰富:发布订阅(消息)Lua脚本,事务(pipeline)
简单:源代码几万行,不依赖外部库
主从复制:主服务器和从服务器,主服务器可以同步到从服务器中
高可用和分布式:
- 2.8版本以后使用redis-sentinel支持高可用
- 3.0版本以后支持分布式
Redis下载与安装
redis是开源软件,使用c语言编写的编译型语言,在操作系统运行需要编译成可执行文件,由于采用了IO多路复用的epoll模型,所以它不支持windows只有linux操作系统和mac操作系统支持epoll
1.Mac系统下载
打开官网直接下载,也可以尝试旧版本,但是6.0以下版本容易出错:Download | Redis
对下载的包进行解压缩
打开访达cd到 /usr/local/redis
将解压后的文件夹移动到redis文件夹中
进行编译操作
sudo make sudo make test sudo make install mv redis.conf /etc/redis.conf
启动
/usr/local/bin/redis-server /etc/redis.conf #通过配置文件启动 #查看服务是否启动 ps aux | grep redis