Redis学习笔记

使用Redis Desktop Manager一直连接不上服务器的redis

找错误找了一晚上,收获颇丰。

ubuntu安装redis:

sudo apt-get -y install redis-server

首先,要远程连接服务器的redis数据库,需要先修改redis的配置文件(/etc/redis/redis.conf),然后启动服务:

  • 注释这一行:bind 127.0.0.1 ::1

  • 推荐设置密码:取消注释这一行:requirepass foobared (foobared可以修改成自己的密码)

  • 启动服务:/etc/init.d/redis-server start

一般这三步就可以了



我犯的错:

1、出现以下现象的原因:

在这里插入图片描述
redis-server 和 /etc/init.d/redis-server start
这两条命令是不同的,这里注意,我已经修改过redis的配置文件了(/etc/redis/redis.conf),我设置了密码,并开放了远程连接

出现以上原因是使用命令redis-server启动服务后,按ctrl+z会把服务挂起,因此输入redis-cli会出现没有反应的情况。
解决方法是可以把连接窗口关掉,但不要按ctrl+z,然后另外重开个连接窗口

但这样redis-server还是有问题的,它不会按照我们修改过的配置文件运行,如图:
我们有添加密码的,但这里显然就没有密码,当然也没有开放远程连接了(我感觉redis-server命令用于平时进行一些小测试会更好一些).
我们有添加密码的,但这里显然就没有密码,当然也没有开放远程连接了(我感觉redis-server命令用于平时进行一些小测试会更好一些).

我们应该是用/etc/init.d/redis-server start命令启动redis服务,这样会以我们修改过的配置文件运行。如图:
从这张图可以看出,这里启动服务是有按照我们修改过的配置文件运行的(有密码了)
从这张图可以看出,这里启动服务是有按照我们修改过的配置文件运行的(有密码了)

2、服务器端所有配置都正确,但还是连不上:

我使用的是阿里云的服务器,服务器有安全组规则,应该到阿里云服务器管理面板,修改实例的安全组规则,redis数据库使用的端口是6379,把这一端口开放。
在这里插入图片描述
然后终于成功了,拍照记录一下笔记。
在这里插入图片描述

以某配置文件启动Redis

yum安装redis默认配置文件位置/etc/redis.conf,
源码安装一般位置/etc/reids/redis.conf,
如果都找不到,可以通过find / -name redis.conf查找
mac下是/usr/local/redis-6.0.8/redis.conf

redis-server /usr/local/redis-6.0.8/redis.conf

RDB持久化,dump.rdb文件保存的位置

127.0.0.1:6379> config get dir
1) "dir"
2) "/Users/xj.chen"

把此目录下的dump.rdb文件删除,重启redis会使原来的数据丢失

Redis查看当前使用的配置文件

redis-cli
info server

在这里插入图片描述
命令redis-server不指定配置文件启动,如果查看配置文件的话会发现是空:
在这里插入图片描述

Docker 安装 Redis

docker pull redis:latest

创建配置文件目录/home/xj.chen/MyApplications/redis_file
在这里插入图片描述

存放redis.conf 和 data,配置文件从官网下载:http://download.redis.io/redis-stable/redis.conf

修改配置文件:

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

protected-mode no #默认yes,开启保护模式,限制为本地访问

daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

dir  ./ #输入本地redis数据库存放文件夹(可选)

appendonly yes #AOF持久化(可选)

requirepass foobared  # 修改为自己的密码

上面这个过程中有一个坑,即“daemonize no”这个配置,如果在启动容器的时候这个参数值为yes的话,是无法启动镜像的。

呐,启动命令:

	docker run -p 6379:6379 --name redis_auth -v /home/xj.chen/MyApplications/redis_file/conf/redis.conf:/etc/redis/redis.conf -v /home/xj.chen/MyApplications/redis_file/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

https://www.jianshu.com/p/67fc4b1cbe1b

服务器进入redis

docker exec -it redis_auth redis-cli

客户端连接服务器的docker redis:
这里写图片描述

命令:

配置文件
CONFIG GET CONFIG_SETTING_NAME
CONFIG GET *
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

字符串
SET runoob "菜鸟教程"
GET runoob


哈希
DEL runoob
HMSET runoob field1 "Hello" field2 "World"
HGET runoob field1
HGET runoob field2

列表
DEL runoob
lpush runoob redis
lpush runoob mongodb
lrange runoob 0 10

集合
DEL runoob
sadd runoob redis
sadd runoob rabitmq
sadd runoob mongodb
smembers runoob

有序集合
DEL runoob
zadd runoob 0 redis
zadd runoob 0 mongodb
zadd runoob 0 rabitmq
ZRANGEBYSCORE runoob 0 1000

选择1号数据库
SELECT 1

清楚redis所有数据
flushall

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

在远程 redis 服务上执行命令
redis-cli -h host -p port -a password
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值