版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012525096/article/details/82789140
概述
Redis:Remote Dictionary Server(远程字典服务),是一个高性能的(Key/Value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库。
三个特点
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候再次加载进行使用。
- Redis不仅仅支持简单的Key-Value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
- Redis支持数据的备份,即master-slave模式的数据备份
作用
- 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
- 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
- 模拟类似于HttpSession这种需要设定过期时间的功能
- 发布、订阅消息系统
- 定时器、计数器
安装
Redis所有运行和测试均在Linux(CentOS 7)下进行。
下载
中文官网下载源码4.0包。
安装步骤
- 解压到
/opt
目录下(需要权限)
sudo tar -zxvf redis-4.0.10.tar.gz - 进入Redis目录执行
make
- 执行
make install
配置
- 将
/opt/redis安装目录/redis.conf
复制到/myredis/
目录下。 - 修改
redis.conf
中的daemonize no
为daemonize yes
。
运行
- 进入
/usr/local/bin/
目录下执行redis-server /myredis/redis.conf
- 执行
redis-cli -p 6379
,注意提示符变化,输入ping
,返回PONG
既成功。
- 测试Redis(KV键值对),输入
set k1 hello
,返回OK
,输入get k1
,返回"hello"
。 - 测试进行有无启动,输入
ps -ef|grep redis
,返回如下图:
- 关闭redis,输入
shutdown
,提示符转为not connected>
,输入exit
,既退出,在测试有无服务启动。
Redis启动后的杂项基础知识
(1)单进程模型来处理客户端的请求,对读写等时间的响应。
是通过对epoll
函数的包装来做到的,Redis的实际处理速度完成依靠主进程的执行效率。Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll
,是Linux下多路复用IO接口select/poll的增强版本。
(2)默认是16个数据库,都在redis.conf
有默认配置,类似于数组下标从0开始。
(3)使用select i-1
进行数据库的切换。
(4)DBsize查看当前数据库的key的数量。
(5)使用keys XXX
进行关键字的查询,支持ANT风格的占位符。
(6)使用FLUSHDB
清空当前数据库所有数据,FLUSHALL
清空所有数据库。
(7)端口为6379
(8)数据库索引从0开始。