zoukankan      html  css  js  c++  java
  • Redis (一) 概念安装

    一、阿里云安装Redis

    1、安装Redis

    yum -y install redis

    2、启动Redis

    service redis start

    或者(推荐使用)

    systemctl start  redis.service

    3、查看Redis状态

    systemctl status  redis.service

    4、登录Redis DB

    1)本地登录Redis

    redis-cli

    或者

    redis-cli -h 127.0.0.1 -p 6379

    有时候会有中文乱码,要在 redis-cli 后面加上 --raw

    2)远程登录Redis

    redis-cli -h host -p port -a password

    5、修改用户名与密码

    打开redis.conf配置文件,找到requirepass,然后修改如下:
    requirepass yourpassword
    yourpassword就是redis验证密码,设置密码以后发现可以登陆,但是无法执行命令了。
    命令如下:
    redis-cli -h yourIp -p yourPort//启动redis客户端,并连接服务器
    keys * //输出服务器中的所有key
    报错如下
    (error) ERR operation not permitted
    这时候你可以用授权命令进行授权,就不报错了
    命令如下:
    auth youpassword
    另外,在连接服务器的时候就可以指定登录密码,避免单独输入上面授权命令
    命令如下:
    redis-cli -h  yourIp-p yourPort  -a youPassword
    除了在配置文件redis.conf中配置验证密码以外,也可以在已经启动的redis服务器通过命令行设置密码,但这种方式是临时的,当服务器重启了密码必须重设。命令行设置密码方式如下:
    config set requirepass yourPassword
    有时候我们不知道当前redis服务器是否有设置验证密码,或者忘记了密码是什么,我们可以通过命令行输入命令查看密码,命令如下:
    config get requirepass

    如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示yourpassword
    由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 conf文件里是明文,所以不用担心自己会忘记)

    二、Redis配置文件

    1、bind 127.0.0.1

    修改bind,监听所有的IP地址:#bind 127.0.0.1,重启生效

    2.redis配置认证密码
    #requirepass foobared

    去掉行前的注释,并修改密码为所需的密码,保存文件:requirepass yourpassword,重启生效

    三、Redis基础操作

    1.SET

    2.GET

    四、Rdis db0-15 的概念

    redis默认有db0~db15之多。
    redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。
    redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。

    1、redis配置文件中下面的参数来控制数据库总数:
    databases 16
    2、可以通过下面的命令来切换到不同的数据库下
    select 2
    随后,所有的命令将使用数据库2,知道你明确的切换到另一个数据库下。
    每个数据库都有属于自己的空间,不必担心之间的key冲突。不同的数据库下,相同的key取到各自的值。

    3、flushdb与flushall
    flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。
    flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。

    4、get db_number

  • 相关阅读:
    shiro登录验证原理
    注解 java.lang.annotation.Inherited 介绍
    Spring Boot默认Initializer(1)——ConfigurationWarningsApplicationContextInitializer
    Java的static类
    Spring Boot中的initializers的作用分析
    2. Spring Boot项目启动原理初探
    1.Spring Boot入门及其jar包依赖模型分析
    关于正则式中的 |
    iOS :ViewDidAppear
    Xcode
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10107283.html
Copyright © 2011-2022 走看看