什么是Redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如
下:
- 字符串类型
- 散列类型
- 列表类型
- 集合类型
- 有序集合类型
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等都是Redis的用户。
VMware公司从2010年开始赞助Redis的开发, Salvatore Sanfilippo和Pieter Noordhuis也分别在3月和5月加入VMware,全职开发Redis。
Redis的应用场景
- 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
- 分布式集群架构中的session分离。
- 聊天室的在线好友列表。
- 任务队列。(秒杀、抢购、12306等等)
- 应用排行榜。
- 网站访问统计。
- 数据过期处理(可以精确到毫秒)
Redis安装配置
- Redis下载
- 官网地址:http://redis.io/
- 下载地址:http://download.redis.io/releases/
Redis安装
Aliyun Linux 17.1 64位
-
第一步:在Linux下安装gcc环境(该步骤可以省略,CentOS中默认自带C环境)
-
yum install gcc-c++
-
第二步:将下载的Redis源码包上传到Linux服务器中
-
第三步:解压缩Redis源码包
- tar -zxf redis-3.0.0.tar.gz
-
第四步:编译redis源码
- cd redis-3.0.0/
- make
-
第五步:安装redis
- make install PREFIX=/usr/local/redis0707
Redis启动
前端启动
启动方式:
直接运行bin/redis-server将以前端模式启动
[root@helei bin]# ./redis-server
启动缺点:
ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法
启动图例
前端启动的关闭:ctrl+c
后端启动
- 第一步:将redis源码包中的redis.conf配置文件复制到/usr/local/redis0707/bin/下
- [root@helei redis-3.0.0]# cd /root/redis-3.0.0/
- [root@helei redis-3.0.0]# cp redis.conf /usr/local/redis0707/bin/
- 第二步:修改redis.conf,将daemonize由no改为yes
- [root@redis01 bin2]# vim redis.conf
6.第三步:执行命令
7.[root@helei bin]# ./redis-server redis.conf
后端启动的关闭方式
- 非正常关闭(不推荐使用)
- kill 26774
- 正常关闭:
- [root@helei bin]# ./redis-cli shutdown
Redis客户端
Redis自带的客户端
指定主机和端口
[root@helei bin]# ./redis-cli -h 127.0.0.1 -p 6379
- -h:redis服务器的ip地址
- -p:redis实例的端口号
如果不指定主机和端口也可以
[root@helei bin]# ./redis-cli
- 默认主机地址是127.0.0.1
- 默认端口是6379
图形界面客户端
连接不上的原因:
- ECS6379安全组规则入口方向未开
- 防火墙
注意:
默认一共是16个数据库,每个数据库之间是相互隔离。数据库的数量是在redis.conf中配置的。
切换数据库使用命令:select数据库编号
例如:select 1
- 邮箱:ithelei@sina.cn
- 技术讨论群:687856230
- GoodLuck
网友评论