Redis 快速上手


Redis是一款NOSQL(非关系型)数据库,优点如下:

  • 开源
  • 键值缓存和存储
    • 内存中
    • 持久化
    • 分布式
    • HA 主从数据库
  • 多种数据结构支持
    • String
    • List
    • Hash
    • Set
    • Stored Set
    • Bitmaps
    • Hyperloglogs
  • 性能强悍,功能多
  • 分布式支持
    遵循BSD协议自由使用,可以在BSD的代码上二次开发后商业销售,很受欢迎。

背景,关系型数据库在超大规模和高并发的SNS类型和web2.0力不从心,有很多问题。

NoSQL查询速度快,适用于大数据的环境。

Redis的缺点

  • 持久化的问题
    • 定时存储代价大
    • 只保存变化,恢复慢
  • 内存消耗大

企业应用场景

  • 数据库
  • 缓存
  • 热点数据(经常查询,但是不经常修改的数据)
  • 消息中间件

直接上手安装

使用阿里云的ECS直接操作

下载并安装

# 下载
cd /usr/local/src && wget http://download.redis.io/releases/redis-5.0.7.tar.gz
# 解压
tar xvf redis-5.0.7.tar.gz
# 移动目录
mv redis-5.0.7 /usr/local/redis
# 转移到新目录
cd ../redis
# 编译并且安装
make && make install

如果编译报错就

设置编译环境

# 解决编译错误
sudo yum -y install gcc gcc-c++ libstdc++-devel 
make MALLOC=libc

验证安装

cd /usr/local/bin
ls

截图

其中redis-server是服务端,redis-cli是客户端

配置文件复制到/etc/目录下

mkdir /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/
vi /etc/redis/redis.conf

接下来修改配置文件

vi /etc/redis/redis.conf

比较重要的参数

字段解释
daemonize是否用守护进程运行进行,默认值为no
pidfile当以守护进程运行时将会把pid写入pid文件
port端口号
bind绑定的主机ip,默认 127.0.0.1
timeout客户端闲置多长时间之后关闭连接,为0就是关闭该功能
loglevel日志等级
logfile日志记录默认为标准输出,守护进程如果为默认则日志就会丢弃
databases数据库的数量 使用SELECT dbid 连接指定的id
save在一段时间内有一定数量的更新就将数据写入数据文件 save second changes
rdbccompression是否将数据文件压缩
dbfilename数据文件
dir数据库位置
slaveof设置master服务的ip和端口
masterauthmaster设置密码的时候连接密码
requirepass数据库连接密码
maxclients最大客户端连接数
maxmemory最大内存数量
appendonly日志记录是否在每次更新的时候执行
appendfilename更新日志文件名appendonly.aof
appenfsync日志更新条件 no 表示等待操作系统 always 表示每次写入磁盘 everysec 每秒同步一次
vm-emabled是否启用虚拟内存机制
vm-swap-file虚拟内存文件路径
vm-max—memory将数据(values)大于vm-max-memory存储到虚拟内存当数值为0所有数据都存储在磁盘上
vm-page-size虚拟内存分页大小,也就是最小存储单元,根据对象的大小进行设置,小文件最好是32bytes
vm-pagesswap文件中page的数量,每8个pages消耗1byte
vm-max-threadsswap文件访问线程数
glueoutputbuf向客户端应答的时候是否将小包合并为一个发送,默认开启
hash-max-zipmap-entries内存优化参数,当某个值的数量超过一个数量就转化为正常的的hash编码,用于内存优化,小于这个设定值就会使用短的编码
hash-max-zipmap-values同上
hash-max-ziplist-value同上
zset-max-ziplist-entries同上
zset-max-ziplist-value同上
set-max-intset-entries同上
activerehashing是否激活重置hash
include包含其他配置文件

修改几个字段就行

# 守护启动
daemonize yes
# 注释掉来允许其他机器来访问Redis服务
# bind 127.0.0.1
# requirepass 设置数据库密码
requirepass password123

注意事项:密码复杂一点,因为Redis每秒可以进行15w次密码尝试

Redis启动

二进制文件,参数是配置文件路径

/usr/local/bin/redis-server /etc/redis/redis.conf

使用Docker安装

#安装Docker并启动
yum install docker
systemctl start docker
#拉取redis镜像
docker pull redis

修改之前的配置文件
注释掉daemonize yes
还有bind 127.0.0.1

运行容器

docker run -d --name myredis -p 6379:6379 -v /var/lib/redis:/data  -v /etc/redis/redis.conf:/etc/redis/redis.conf redis

获取桌面管理软件

RDM

下载地址
(来自网友编译版本)

记得更改名字把.zip去掉,这是因为cdn的限制
jsdelivrCDN

可以使用软件直接连接redis服务端,要注意端口的开放

连接上之后软件主界面如图


文章作者: Cyber-Peng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-ND 4.0 许可协议。转载请注明来源 Cyber-Peng !
 上一篇
Docker 快速上手 常用方法总结 Docker 快速上手 常用方法总结
安装和启动安装docker yum install docker 启动docker systemctl start docker 不懂就查帮助,授人以渔获取命令帮助 # 获取基本帮助 docker --help # 获取具体命令rm帮助 d
2020-03-11
下一篇 
高校思政大课观后感 高校思政大课观后感
艾四林教授第一位讲师是清华大学的艾四林,他提到武汉封城抗击疫情的时候有人质疑是否侵犯人民的人权还有人质疑是否值得用经济发展的巨大代价来抗击疫情,是否值得,他提到身体健康是最基础的人权,当疫情发生的时候,人民的身体健康是最重要的人权,一定要保
2020-03-09
  目录