docker search redisdocker pull 镜像名字 这种情况下速度比较慢docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis - docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yesyum install -y gcc


wget http://download.redis.io/releases/redis-6.0.8.tar.gz

tar xzf redis-6.0.8.tar.gz

Make 会报错,需要升级gcc
yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils


scl enable devtoolset-9 bash

需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
之后执行make test 也会报错,需要升级tcl
yum install -y tcl-devel


cd redis-6.0.8
make


执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:启动 redis 服务:使用默认配置
cd src
./redis-server


yum install epel-release 如果找不到redis,先装这个


yum install redis 安装redis


find / -name "redis*" 查看redis都安装到了哪里
service redis start 打开redis服务

cd redis-6.0.8/
useradd -s /sbin/nologin -M redis创建redis用户chmod -R 755 /root/redis/redis-6.0.8 给他设置读和执行的权限chown redis.redis /root/redis/redis-6.0.8将redis加入root组中

在Redis6.0之前的版本中,登陆Redis Server只需要输入密码(前提配置了密码 requirepass)即可,不需要输入用户名,而且密码也是明文配置到配置文件中,安全性不高。并且应用连接也使用该密码,导致应用有所有权限处理数据,风险也极高。在Redis6.0有了ACL之后,终于解决了这些不安全的因素,可以按照不同的需求设置相关的用户和权限。


acl setuser y1新建用户不带密码

acl setuser y1 on >777
auth y1 777带密码的并切换用户,acl whoami但是没有任何权限访问被拒绝
acl list列出所有用户


user 代表是用户
default 代表默认用户(反之 为自己创建的用户)
on 代表激活(反之off,默认新增的为off)
nopass 代表不需要密码
~* 代表可以访问的key
+@all 代表可以操作的command
Key的说明
acl getuser y1得到一个用户详细信息

acl setuser y1 allkeys +@all给用户赋所有权限
~*表示允许访问所有key,也可以用 allkeys来表示~*。

权限相关:权限这块涉及到的比较多:权限的类别、类别里包含的命令,以及子权限。
注意:-@all表示没有任何权限;+@all表示有所有权限;

+:将命令添加到用户可以调用的命令列表中,如+@hash
-: 将命令从用户可以调用的命令列表中移除
+@: 添加一类命令,如:@admin, @set, @hash … 可以ACL CAT 查看具体的操作指令。特殊类别@all表示所有命令,包括当前在服务器中存在的命令,以及将来将通过模块加载的命令
-@: 类似+@,从客户端可以调用的命令列表中删除命令
+: 允许否则禁用特定子命令。注意,这种形式不允许像-DEBUG | SEGFAULT那样,而只能以“ +”开头
allcommands:+@all的别名,允许所有命令操作执行。注意,这意味着可以执行将来通过模块系统加载的所有命令。
nocommands:-@all的别名,不允许所有命令操作执行。
创建用户y7只给他赋予查看字符串的权限用户y8只有查看哈希值的权限
acl setuser y7 on >777
acl setuser y7 ~* +@string~表示通配符


acl setuser y8 on >777
acl setuser y8 ~* +@hash赋予他查看hash值的权限
