回顾Redis基本概念
1. Redis是什么?
Redis:REmote DIctionary Server(远程字典服务器)
是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器
2. 有以下三个特点
-
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
-
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
-
Redis支持数据的备份,即master-slave模式的数据备份
3. 它能干什么
- 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
- 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
- 模拟类似于HttpSession这种需要设定过期时间的功能
- 发布,订阅消息系统
- 定时器,计数器
4. 安装Redis
- redis的下载
官网地址:http://redis.io/
下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz - Redis的安装
安装redis需要c语言的编译环境,如果没有gcc需要在线安装。如下命令:
[root@localhost ~]# yum -y install gcc-c++
如果有GCC环境,只需输入命令:
[root@localhost ~]# gcc
出现 :gcc: no input files 表示安装成功。
- 安装步骤:
第一步:将redis的源码包上传到linux系统。
源码包下载地址:
链接:https://pan.baidu.com/s/1M0oZ2a0U935twsBssh3zzg
提取码:heho
第二步:解压缩redis的源码包。
第三步:进行编译。 cd到解压后的目录 输入命令:make
第四步:进行安装。 输入命令:make install PREFIX=/usr/local/redis
第五步:检查目录是否存在。
在/usr/local/redis 下 有bin 说明安装成功。
5. redis服务端启动
- 前端启动
[root@localhost bin]# ./redis-server
注意:上面在启动的时候已经走到redis的bin目录里面了,如果出现下图所示,说明启动成功
- 后台启动:
第一步:把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/
第二步:使用vim或者vi命令修改redis.conf配置文件 将daemonize no修改为daemonize yes,如图所示
第三步:输入启动命令
[root@localhost bin]# ./redis-server redis.conf
第四步:检查redis进程:
[root@localhost bin]# ps -ef|grep redis
第五步:进入
redis-cli -p 639
前端启动,不能更换终端,影响下一步操作。而后台启动,只在进程中悄悄启动。
推荐使用后台启动。
6. Redis基础
- 单进程
单进程模型来处理客户端的请求,对读写等事件的响应
是通过对epoll函数的包装来做到的,Redis的实际处理完全依靠进程的执行效率
Epoll是Liunx内核为处理大批量文件描述符而做了改进的epoll,是Liunx下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率 - 默认16个数据库,类似数组下标从零开始,初始默认使用零号库
- select命令切换数据库,如:select 1,将会切换到2号库,因为下标从零开始,所以1为2号库
- Dbsize查看当前数据库的key的数量
- Flushdb:清空当前库
- Flushall:通杀全部库,不管在那个库中执行该命令,redis中的所有库中的数据都将清空
- 统一密码管理,16个库都是同样密码,要么到连上要么一个也连不上
- Redis索引都是从零开始
- 默认端口是6379