2.1 Redis概述
2.1.1 什么是Redis
2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便开始对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年Salvatore Sanfilippo将Redis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一起继续着Redis的开发,直到今天。
Salvatore Sanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。Hacker News在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎,国外如GitHub、Stack Overflow、Flickr、暴雪和Instagram,都是Redis的用户。
VMware公司从2010年开始赞助Redis的开发, Salvatore Sanfilippo和Pieter Noordhuis也分别在3月和5月加入VMware,全职开发Redis。【本部分内容取自《REDIS入门指南》】
Redis(REmote D Ictionary Server 远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化。是当前比较热门的NOSQL数据库之一,也被人们称之为数据机构服务器。
他提供了很多键值数据类型以用来适应不同场景下的存储需求,在目前Redis所支持的数据类型包括:
- 字符串类型
- 散列类型
- 列表类型
- 集合类型
- 有序集合类型
- 坐标类型
学习参考网站:https://www.runoob.com/redis/redis-tutorial.html
2.1.2 Redis能干什么
- 内存存储和持久化:redis支持异步将内存中的数据写入到磁盘中,同时不影响继续服务
- 取最新N个数据的操作,可以将排行或者指定信息保存在Redis集合容器内
- 模拟类似于HttpSession(会话对象)这种需要设定过期时间的功能
- 定时器 计数器
- 消息的订阅和消息的发布(消息队列 主从配置)
2.1.3 Redis的特点
- 性能非常高:Redis读取速度 11W次/s 写入速度 8W次/s
- 非常丰富的数据类型 :String List Hash Set ZSet等等数据类型操作
- 原子性:Redis内所有操作都是原子性的,意味着要么成功执行,要么失败完全不执行。单个操作是原子性的,多个操作也支持事务。
- 数据持久化:可以将内存中的数据保存在磁盘内,重启的时候可以加载进行使用
- 其他:Redis还支持publish/subscribe 通知,key值生命周期的管理,提供了目前主流编程语言的API接口
2.1.4 如何获取
https://redis.io
http://www.redis.cn
2.2 Redis的安装
2.2.1本地安装
PS:做好镜像快照
#步骤1:访问官网
https://redis.io/
#步骤2:选择本地安装
GET STARTED ====> install ====> Install from source
#步骤3:下载
>> wget https://download.redis.io/redis-stable.tar.gz
#步骤4:解tar
>> tar -xzvf redis-stable.tar.gz
#步骤5:编译器的安装
>> make
>> make install
#步骤6:安装CC控件
>> dnf install gcc*
#步骤7:再次编译安装
>> make install
#步骤8:再次发生问题需要找到README.md配置文件 找到 make malloc = libc
>> make MALLOC = libc
#步骤9:再次编译安装
>> make install
如果提示为:
Hint: It's a good idea to run 'make test' ;)
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
意味着安装成功。
#步骤10:开启服务
>> redis-server