在windows中安装使用redis的几种方法

背景:在学习redis的时候,刚开始直接用远程服务器安装redis,然后开放防火墙端口来让外部连接,为了方便没有设密码,也没有及时关闭端口,结果很快就被注入攻击用来挖矿了。redis配置文件中的注释也有说:因为redis运行非常快,外部攻击每秒可以尝试150k次密码,所以即使设密码也要使用很复杂的密码,否则很容易被破解。最后我还是选择一种合适的方式在windows下运行redis。

redis主要是运行在linux下的,官网没有提供windows版本,可以通过以下几种方法在windows系统下使用redis,部分方法只适用于win10。

1.下载windows专用版

github上有windows专用版

下载链接:https://github.com/dmajkic/redis/downloads

基本步骤:

  • 下载软件,解压
  • 根据系统进入32bit或64bit目录
  • 双击打开redis-server.exe,运行redis服务
  • 双击打开redis-cli.exe,运行命令窗口开始使用

这种直接运行的方式只能使用默认配置,配置文件在当前目录下:redis.conf,想要运行多个server的话,复制一份配置文件,修改端口,用cmd在当前窗口打开,redis-server.exe redis2.conf

优点:操作简单,下载解压就能用了
缺点:版本落后,可能导致学习时部分功能无法使用

2.安装wsl(windows subsystem for linux)--适用于win10

基本步骤:

  • 打开windows系统中的wsl功能。可以通过面板打开或管理员模式下的powershell输入Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux,然后重启。

  • 安装ubuntu。在微软应用商店中搜索ubuntu,就可以下载安装对应的系统。目前免费的还有其它系统如debian等,centos只有收费版,本文以ubuntu为例。

  • apt源改为国内的,不然网速太慢。

    sudo vim /etc/apt/sources.list

    替换为以下内容

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  • 更新软件源列表

    sudo apt-get update

  • 安装redis-server

    sudo apt install redis-server

    配置文件位置:/etc/redis/redis.conf

后面就跟在linux中一样了,也可以开启ssh,22端口,使用xshell来连接,假装自己有一台服务器。。。

配置文件路径:
/etc/ssh/sshd_config
修改3项:
Port 22
PermitRootLogin yes
PasswordAuthentication yes

优点:可以使用新版软件,基本类似linux下的体验。

缺点:跟其它的虚拟机平台冲突,跟大部分安卓模拟器冲突

3.安装虚拟机

跟上面一种差不多,不展开了。
优点:兼容性更好,比wsl稳定
缺点:安装较麻烦,使用也不够方便,不是重度用户常驻后台的话每次使用还要打开软件,再开启系统。

4.docker

当前是使用window下的docker,基本步骤:

  • 安装docker

    • 先开启hyper-v
    • 下载docker 安装
  • 获取docker image

    docker pull redis:latest

    查看是否开启docker images

  • 创建并运行redis容器

    docker run -itd --name myredis -p 6379:6379 redis
    查看:docker container ls -all

    参数:

    • i:以交互模式运行容器,通常跟t一起使用
    • t:为容器重新分配一个伪输入终端,通常与i一起使用
    • d:后台运行容器
    • p:指定端口映射,格式为:本机端口:容器端口,这样,外部就可以用本机IP:本机端口的方式访问到redis
    • name:容器名称
    • redis:镜像名称,获取镜像时用redis:latest,运行容器时用redis也可以,毕竟默认就是latest
  • 在redis容器执行

    docker exec -it myredis /bin/bash
    在打开的bash中测试
    redis-cli

这种方式对于经常使用docker的用户来说应该是比较方便的,自己也刚接触docker就不多评论了。

总结:

个人感觉wsl的方式比较方便且接近日常使用linux的体验,目前也是用这种方法,也许以后对docker更熟悉了会改用docker,到时候再更新。

相关推荐