zoukankan      html  css  js  c++  java
  • redis安装及配置

    整理来源于网上:https://www.cnblogs.com/wxjnew/p/9160855.html ;https://www.cnblogs.com/fanshuyao/p/7193299.html ;https://www.cnblogs.com/alasijia/p/9408824.html;https://www.cnblogs.com/zfding/p/7966450.html

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串哈希表列表集合有序集合位图hyperloglogs等数据类型。

    官网:https://redis.io/download,网传Redis是不支持windows的,但是,Microsoft开放技术小组 使这一切有了可能 ;  window版下载地址:https://github.com/MicrosoftArchive/redis/releases

    二、安装和配置Redis

    下载Redis For  window X64.zip,加压到指定目录,如下图所示我解压到了D盘

    打开cmd命令窗口,安装和注册redis到window服务,注意安装和启动服务这两个操作需要在解压Redis的根目录执行,这里才有Redis环境

    安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose

    启动服务命令:redis-server.exe  --service-start

    关闭服务命令:redis-server.exe  --service-stop

    安装和注册服务,启动服务启动后我们都可以看到 successfully的字样,说明我们配置成功了,下面我们去window-service查看本地服务,如下图,Redis已存在和启动

    三、客户端使用Redis

    我们重新打开一个cmd ,作为一个客户端调用redis服务,如下图所示,调用命令是:redis-cli.exe -h 127.0.0.1 -p 6379,如下图显示地址和端口,说明调用成功

    然后我们使用set 和get 命令进行测试一下,set uname "abc",然后使用get uname可以获取到对应set的值,说明调用成功

    四、Redis注意和其他

    需要注意的是:所有命令需要在window解压的redis根目录执行,免安装的情况下,window 切换目录需要首先切到盘符D:然后cd到盘符的指定路径

    相关配置文件和官方文档都在下载的目录中,比如下面的conf文件可以修改服务的端口号,默认的是6397

    为了安全还需要给redis设置密码,默认安装后是没有密码的,修改方法,修改redis.windows.conf和 redis.windows-service.conf文件找到requirepass这一行加上自己的密码即可,如下图所示,修改后需要重启redis服务

    验证修改成功,如下图,进入客户端调用界面输入auth 密码,如果正切则返回OK,然后利用config get requirepass可以得到redis的密码,得到密码前需要

    用密码登录验证成功后才可以执行得到密码的命令

    Windows版的Redis有2个配置文件,一个是:redis.windows.conf,另一个是redis.windows-service.conf。


     

    但需要注意的是,Windows的Redis启动服务默认加载的配置文件是redis.windows-service.conf,如下图所示:

     

    如果修改了redis.windows.conf(非redis.windows-service.conf)文件上的配置,从服务自启动,配置的信息是不生效的,如密码配置和ip绑定。

    解决方案:

    方法一、在redis.windows-service.conf文件(非redis.windows.conf)自定义配置信息,因为Redis安装的服务默认加载的是该文件。

    方法二、更换Redis服务,具体如下:

    如何更改服务默认的配置文件呢?

    1、可以删除原来的服务,然后新增自定义Redis自启动服务

    2、或者不删除原来的服务,把原来的服务设置为禁用,但是同样新增自己自定义Redis自启动服务

    1、新增自定义Redis服务

    从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:

    redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis_new 

    此服务加载的配置文件是redis.windows.conf,不带service的。

    2、启动Redis服务:

    从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:

    redis-server --service-start

    3、删除Redis服务:

    从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:

    redis-server --service-uninstall  

    RedisDesktopManager是一款连接redis数据库的客户端。

    linux 下安装redis很简单,在此不做赘述

    发现linux上启动redis,测试redis使用正常,

    但使用RedisDesktopManager却连接不上,报错如下,报错信息显示:当前使用的Protrcted mode模式,也就是保护模式,保护模式只允许本地访问,,而且还显示no bind address specified ,所以需要修改这两个配置

    需要修改redis.conf

    1.修改bind 

       原来:  bind  127.0.0.1   代表本地回环地址,访问redis服务只能通过本机的客户端连接,而无法通过远程连接

      修改为:将此行注释或者讲ip改成0.0.0.0   这样就能接受所有来自于可用网络接口的连接

    2.修改protected mode  保护模式,只允许本地链接

      修改为:protected mode no

    补充 redis.conf 中的daemonize 配置

     daemonize yes 代表开启守护进程模式。此时是单进程多线程的模式,redis将在后台运行,并将pid写入redis.conf--pidfile文件中,此时redis将一直运行,除非手动kill

     daemonize no 当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(xshell等)都会导致redis进程退出

    修改配置文件后需要重启redis!!!

    注:启动redis  一定要指定配置文件,否则配置文件不生效的

    ./src/redis-server redis.conf

    背景:我是在自己机器上装的redis,使用的是虚拟机,系统是linux 版本是centeros-6.7

    在使用这个连接redis的时候,发现连接不上。

    第一步:在自己的本机外面试下能不能连接上虚拟机,打开cmd,使用 ping 192.168.65.128  (192.168.65.128这个为虚拟机的ip地址 查看虚拟机的ip地址:命令 ifconfig)

    如果能ping的通,这个没问题,表示外部可以访问得到。访问不到可以,把虚拟机的防火墙给关了,最省事,命令: service iptables stop

    第二步:在redis的配置文件(redis.conf)里面是否设置了requirepass  表示连接的密码,如果没有设置,不好意思,连接不上

    第三步: 在redis的配置文件里面,是否把bind 127.0.0.1 给注释掉,如果没有,连接不上

    以上这些你都做了,应该就没有问题了

    如果还是连接不上,你首先在你虚拟机里面登录上redis的客户端 进入到src目录层级下面。

    和启动redis一样,命令: ./redis-cli

    进入到客户端之后:命令:auth 1234(你设置的密码)

    看一下是否ok。

    我之前在这里踩了坑,明明我的配置文件里面设置了访问密码,却没有生效,为了保险起见,还是再来看下,密码是否生效了

    如果ok,那就没有问题,如果出现了错误,说你密码没有设置,那就直接用命令设置:config set requirepass 1234(这个为你设置的访密码)

    然后再试下命令 auth 1234(出现ok就好了)

    这样就应该可以顺利的连接上redis了。

  • 相关阅读:
    剑指 Offer 22. 链表中倒数第k个节点
    剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
    Leetcode1450. 在既定时间做作业的学生人数
    Leetcode1572. 矩阵对角线元素的和
    Leetcode 1480. 一维数组的动态和
    Idea连接数据库报错
    Java实现二叉树层次遍历并存入List的方法:从上往下,从左往右
    SpringCloud资源网站
    Java循环对list进行remove
    Java中字符串判空的正确打开方式
  • 原文地址:https://www.cnblogs.com/llhhll/p/11093920.html
Copyright © 2011-2022 走看看