Redis学习笔记(一)环境配置

本文最后更新于:December 3, 2021 pm

Redis 是当前互联网世界最为流行的 NoSQL(Not Only SQL)数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 具备一定持久层的功能,也可以作为一种缓存工具。对于 NoSQL 数据库而言,作为持久层,它存储的数据是半结构化的,这就意味着计算机在读入内存中有更少的规则,读入速度更快。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

目录

0.安装和启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Mac
brew install redis

brew services start redis //开启
brew services stop redis //停止

redis-cli //终端进入redis ,redis-cli -p 6379


//Linux
sudo apt install redis

//在软件仓库中安装的Redis使用init.d脚本启动
sudo /etc/init.d/redis-server start

//在软件仓库安装的Redis可采用init.d脚本关闭
sudo /etc/init.d/redis-server stop

redis-cli //终端进入redis,用exit退出redis
进入redis后输出shutdown退出redis服务

0.1 启动报错

  1. Job for redis-server.service failed because the control process exited with error code.

问题是:现在的redis.conf是root用户,而redis用户是没有权限读取的。

解决办法:

1
chmod 644 /etc/redis/redis.conf

再此尝试启动即可。

  1. Job for redis-server.service failed because a timeout was exceeded.See “systemctl status redis-server.service” and “journalctl -xe” for details.

解决办法:

1
vim /etc/redis/redis.conf

找到 bind:127.0.0.1 ::1 将其修改为 bind:127.0.0.1 即可。
然后再尝试进行启动。

0.2 设置后台启动

默认情况下不是后台启动的,需要修改redis.conf配置文件。将 daemonize 修改为 yes 。

0.3 其他环境配置(可选)

1
2
3
yum install gcc-c++
make
make install

1.性能测试

redis-benchmark 是官方自带的性能测试工具,是一个压力测试工具。基本命令:

1
redis-benchmark [option] [option value]

该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。

可选参数表:

序号 选项 描述 默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器 socket
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定 SET/GET 值的数据大小 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR 使用随机 key, SADD 使用随机值
9 -P 通过管道传输 <numreq> 请求 1
10 -q 强制退出 redis。仅显示 query/sec 值
11 –csv 以 CSV 格式输出
12 -l(L 的小写字母) 生成循环,永久执行测试
13 -t 仅运行以逗号分隔的测试命令列表。
14 -I(i 的大写字母) Idle 模式。仅打开 N 个 idle 连接并等待。

示例:

1
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。


本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/3521745947.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!