简介
Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库
特性
基于内存运行,性能高效
支持分布式,理论上可以无限扩展
key-value存储系统
开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
基本知识
默认16数据库
Redis默认支持16个数据库,可以通过调整Redis的配置文件redis/redis.conf中 的databases来修改这一个值,设置完毕后重启Redis便完成配置
Redis使用是单线程
因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。 既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了
IO多路复用技术
redis 采用网络IO多路复用技术来保证在多连接的时候,系统的高吞吐量
这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效 的处理多个连接请求(尽量减少网络IO的时间消耗),且Redis在内存中操作数据的速度非常快(内存内的操作 不会成为这里的性能瓶颈),主要以上两点造就了Redis具有很高的吞吐量
linux安装
解压
tar -zxvf redis-6.2.6.tar.gz -C /usr/local
安装C语言编译环境
yum install -y gcc
通过使用gcc --version命令打印 GCC 版本,来验证 GCC 编译器是否被成功安装
gcc --version
安装到指定目录中
cd /usr/local/redis-6.2.6
make PREFIX=/usr/local/redis install
拷贝redis.conf到安装目录下
cd /usr/local/redis-6.2.6
cp redis.conf /usr/local/redis/bin/
修改配置文件
vim /usr/local/redis/bin/redis.conf
将bind 127.0.0.1注释掉(任何ip都可以访问) 将protected-mode设置为no(关闭保护模式) 将daemonize改为yes(后台启动不要霸屏的方式启动) #如果要设置密码需要增加如下配置: #设置redis访问密码 #requirepass baizhan
后台启动redis
cd /usr/local/redis/bin
./redis-server ./redis.conf
启动redis客户端
cd /usr/local/redis/bin
./redis-cli -p 6379
如果配置密码需要-a 密码
查看系统进程(Linux)
ps -ef | grep redis
查看状态信息(在redis客户端)
info replication
docker安装
拉取Redis镜像
docker pull redis:6.2.6
启动Redis容器
docker run -di --name=redis -p 6379:6379 redis:6.2.6
启动Redis容器并设置密码
docker run -di --name=redis -p 6379:6379 redis:6.2.6 --requirepass "passowrd"
测试redis是否启动成功,我们可以找一个本地redis,运行命令:
redis-cli -h ip地址
启动redis客户端
docker exec -it redis /bin/bash
cd ../usr/local/bin
./redis-cli -p 6379
可视化工具
关闭防火墙
systemctl stop firewalld.service
关闭保护模式
protected-mode no
开启远程访问
redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf。 注释掉bind 127.0.0.1 可以使所有的ip访问redis