第二章 Redis介绍及安装
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(==RE==mote ==D== ==I==ctionary ==S==erver 远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化。是当前比较热门的NOSQL数据库之一,也被人们称之为数据机构服务器。
他提供了很多键值数据类型以用来适应不同场景下的存储需求,在目前Redis所支持的数据类型包括:
-
字符串类型
-
散列类型
-
列表类型
-
集合类型
-
有序集合类型
-
坐标类型
学习参考网站:Redis 教程 | 菜鸟教程
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