Redis安装与介绍(详解)

本文档详细介绍了Redis的安装步骤,包括下载源码、编译、安装和配置,以及如何启动和检查服务状态。此外,还提到了可能出现的问题及解决方案,并提供了连接Redis客户端的方法。最后,讨论了Redis在内存优化、分布式锁、订阅发布、缓存和排行榜等场景的应用。
摘要由CSDN通过智能技术生成

Redis官网:https://redis.io

Redis简介

REmote DIctionary Server(Redis) 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

​Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

Redis编译安装

通过 wget可下载redis源码包:

[root@localhost java]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz

进行解压:

[root@localhost java]# tar -zxvf redis-5.0.8.tar.gz

重命名:

[root@localhost java]# mv redis-5.0.8 redis

编译与安装:

进入到redis目录下

[root@localhost redis]# make

进行安装,可以指定安装的目录,命令如下

[root@localhost redis]# make PREFIX=/usr/local/redis install

安装完成后可查看一下安装目录下文件:

[root@localhost java]# ll /usr/local/redis/bin/

/usr/local/redis/bin/目录总共有6个文件:

  1. redis-benchmarkRedis 测试工具
  2. redis-check-aofRedis 的 aof 文件检查工具
  3. redis-check-rdbRedis 的 rdb 文件检查工具
  4. redis-cliRedis 的客户端工具
  5. redis-sentinelRedis 的一个监控工具
  6. redis-serverRedis 的服务端工具

安装redis服务:

切换到源码目录utils下

[root@localhost redis]# cd utils/
[root@localhost utils]# ./install_server.sh

[root@localhost utils]# ./install_server.sh

Welcome to the redis service installer

This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]

Selecting default: 6379

Please select the redis config file name [/etc/redis/6379.conf] /usr/local/redis/conf/6379.conf

Please select the redis log file name [/var/log/redis_6379.log] /usr/local/redis/logs/redis_6379.log

Please select the data directory for this instance [/var/lib/redis/6379] /usr/local/redis/data/6379

Please select the redis executable path [] /usr/local/redis/bin/redis-server

Selected config:

Port           : 6379

Config file    : /usr/local/redis/conf/6379.conf

Log file       : /usr/local/redis/logs/redis_6379.log

Data dir       : /usr/local/redis/data/6379

Executable     : /usr/local/redis/bin/redis-server

Cli Executable : /usr/local/redis/bin/redis-cli

Is this ok? Then press ENTER to go on or Ctrl-C to abort.

Copied /tmp/6379.conf => /etc/init.d/redis_6379

Installing service...

Successfully added to chkconfig!

Successfully added to runlevels 345!

Starting Redis server...

Installation successful!

执行 ./install_server.sh 命令后,会多出很多配置文件,如端口号、配置文件的目录、日志文件的目录、数据文件的目录、Redis 服务的文件。将这些文件放在了 Redis 安装目录下,即 /usr/local/redis/ 路径下:

[root@localhost utils]# ll /usr/local/redis/

配置完成后,会自动启动 Redis 服务。

查看服务启动状态:

[root@localhost conf]# systemctl restart redis_6379

[root@localhost conf]# systemctl status redis_6379

从状态看是启动成功的(第一次是失败的,经过下边修改调节参数,重启参数启动成功)。

这里可能查看log会发现有遇到问题,可参考下边解决办法:

问题集锦:

1.123645:M 22 Jul 2021 15:02:55.747 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

# echo 1024 > /proc/sys/net/core/somaxconn

2. echo never > /sys/kernel/mm/transparent_hugepage/enabled

3. 修改内核参数:echo 1 > /proc/sys/vm/overcommit_memory

链接:https://github.com/redis/redis/issues/6123

客户端尝试连接:

[root@localhost bin]# ./redis-cli

出现以上界面,表示可以正常连接Redis 服务

环境变量配置,将 Redis 添加到环境变量当中:

[root@localhost bin]# vi /etc/profile

export REDIS_HOME=/usr/local/redis

export PATH=$PATH:$REDIS_HOME/bin

使环境变量生效:

[root@localhost bin]# source /etc/profile

参考:

https://cloud.tencent.com/developer/article/1687026

https://snailclimb.gitee.io/javaguide/#/docs/database/Redis/redis-all

关于redis的内存优化请参考官方文档 https://redis.io/topics/memory-optimization

 分布式锁(利用了redis单进程顺序处理命令的能力)https://redis.io/topics/distlock

订阅 https://redis.io/topics/pubsub

房间系统成员列表

用户访问状态:如购物车、用户足迹 http://redisinaction.com/preview/chapter2.html#cookie

当做使用LRU算法的缓存来使用 https://redis.io/topics/lru-cache

排行榜 (zset,ZINTERSTORE,优秀的排序算法)

 秒杀 http://blog.csdn.net/shendl/article/details/51092916

序列生成器(单线程保证无竞争,INCR命令)

更多 http://blog.csdn.net/hguisu/article/details/8836819

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值