redis简介和安装

redis简介

(1)存储系统

①分类图示:

②nosql 网站:http://www.nosql-databases.org/

(2)redis简介

①官网地址:https://redis.io/

②Redis(Remote Dictionary Server)在2009年发布,开发者Salvatore Sanfilippo是意大利开发者。redis是一个开源的、遵循BSD协议的、基于内存的而且目前比较流行的键值数据库(key-value database),是一个非关系型数据库,redis提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比memcache,redis还提供了易扩展、高性能、具备数据持久性等功能。

③DB-Engine:https://db-engines.com/en/ranking

(3)redis简述

①redis是什么?

  • key-value cache and store(键值缓存和存储)

②redis用途:

  • 存储和数据结构服务器:提供一个数据结构远程存储功能。

③redis支持存储的数据格式:

  • 字符串(string)、列表(list)、哈希(hash)、集合(set)、有序集合(sored set)、消息队列

④redis是单进程服务,单进程响应所有用户请求。

⑤redis所有数据集均保存在内存中,所有数据集都必须在内存中才能使用。数据支持持久化,但是数据持久化仅仅是为了redis在下次启动时仍然有数据存在,而不是为了数据的访问,体现的是一种冗余能力。

⑥支持master-slave集群架构,以实现redis的高可用,还可以将用户的写和查询分散至不同的节点,以实现负载均衡。

(4)redis典型应用场景

①Session 共享:常见于web集群中的Tomcat或者PHP中多web服务器session共享

②消息队列:ELK的日志缓存、部分业务的订阅发布系统

③计数器:访问排行榜、商品浏览数等和次数相关的数值统计场景

④缓存:数据库查询缓存、电商网站商品信息、新闻内容

⑤微博/微信社交场合:共同好友、点赞评论等

redis安装

源码安装redis

①官方下载地址:http://download.redis.io/releases/

②编译安装redis步骤:

a、获取源码包并解压缩
[root@centos7-17 ~]# cd /usr/local/src/
[root@centos7-17 src]# wget http://download.redis.io/releases/redis-4.0.14.tar.gz
[root@centos7-17 src]# tar xf redis-4.0.14.tar.gz 
[root@centos7-17 src]# cd redis-4.0.14/  ##进入解压后的目录


b、查看安装帮助
[root@centos7-17 redis-4.0.14]# vim README.md
    You can use `make PREFIX=/some/other/directory install` if you wish to use adifferent destination.
# make install ## 默认会将redis安装在当前目录。可以使用 PREFIX=/PATH 指定安装路径


c、make install  #因为源码包中Makefile文件已经存在
[root@centos7-17 redis-4.0.14]# make PREFIX=/apps/redis install
注:如果因为没有安装gcc而导致编译失败,那么将gcc安装,重新解压redis源码,再次编译即可。


d、查看安装目录
[root@centos7-17 redis-4.0.14]# ll /apps/redis/
drwxr-xr-x 2 root root 134 Nov 13 09:34 bin
##仅有bin目录。


e、创建所需目录(规划是将redis相关的文件全部放置于/apps/redis/目录中)
[root@centos7-17 redis-4.0.14]# mkdir /apps/redis/{etc,logs,data,run}


f、准备配置文件:##解压目录下有redis的模板配置文件
[root@centos7-17 redis-4.0.14]# cp redis.conf  /apps/redis/etc/



g、将/apps/redis/bin/的可执行程序导入PATH变量中 ##此处导入的目录是/usr/local/bin/目录
[root@centos7-17 bin]# ln -s /apps/redis/bin/*  -t /usr/local/bin/


h、准备redis的service文件,使用systemd管理redis
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/bin/redis-server /apps/redis/etc/redis.conf --supervised systemd
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target


i、启动文件中的启动用户为redis用户,因此准备redis用户
[root@centos7-17 redis-4.0.14]# groupadd redis -g 2019 && useradd  redis -u 2019 -g 2019 -s /sbin/nologin


j、授予redis用户权限/aaps/redis/目录
[root@centos7-17 redis-4.0.14]# chown -R redis.redis /apps/redis/


k、修改模板配置文件:
[root@centos7-17 redis-4.0.14]# vim /apps/redis/etc/redis.conf
    bind 0.0.0.0
    pidfile /apps/redis/run/redis_6379.pid
    requirepass 123456  ##设置认证口令
  • 注:以上配置后redis安装完成,但是如果前台启动redis时,redis会有如下三个的WARNING。(WARNING不是error也可以运行redis)
    [root@centos7-17 redis-4.0.14]#/usr/local/bin/redis-server /apps/redis/etc/redis.conf
a、tcp-backlog的警告:##backlog参数控制的是三次握手的时候server端收到client ack确认号之后的队列值。
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
由于系统设置的backlog是128,redis配置文件中backlog值为511

解决方案:一般修改内核参数:
[root@centos7-17 ~]# vim /etc/sysctl.conf 
net.core.somaxconn = 512
[root@centos7-17 ~]# sysctl -p



b、vm.overcommit_memory
    0、表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 
    1、表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
    2、表示内核允许分配超过所有物理内存和交换空间总和的内存
redis要求将vm.overcommit_memory = 1

[root@centos7-17 ~]# vim /etc/sysctl.conf 
vm.overcommit_memory = 1
[root@centos7-17 ~]# sysctl -p



c、Transparent Huge Pages (THP) ##大页内存动态分配,需要关闭让redis 负责内存管理。
    
[root@centos7-17 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
此内核参数仅支持echo形式的修改。
  • 注:上述redis只做了最简单的配置,待redis常用配置修改完成之后,就可将安装的redis打包,为后面的redis集群做准备
常用配置:

bind 0.0.0.0

requirepass 123456

pidfile /apps/redis/run/redis_6379.pid

logfile "/apps/redis/logs/redis.log"

save 900 1
save 300 10
save 60 10000
dbfilename "redis-6379.rdb"
dir "/apps/redis/data/"


redis工具

  • #ln -s /apps/redis/bin/* -t /usr/local/bin/
  • ##被软链至/usr/local/bin/目录下咯
[root@centos7-17 ~]# ll /apps/redis/bin/
-rwxr-xr-x 1 redis redis 2452176 Nov 13 09:34 redis-benchmark                   #redis性能测试工具
-rwxr-xr-x 1 redis redis 5777752 Nov 13 09:34 redis-check-aof                   #AOF文件检查工具
-rwxr-xr-x 1 redis redis 5777752 Nov 13 09:34 redis-check-rdb                   #RDB文件检查工具
-rwxr-xr-x 1 redis redis 2618208 Nov 13 09:34 redis-cli                         #客户端工具
lrwxrwxrwx 1 redis redis      12 Nov 13 09:34 redis-sentinel -> redis-server    #哨兵,软连接到server
-rwxr-xr-x 1 redis redis 5777752 Nov 13 09:34 redis-server                      #redis 服务启动命令

Windows安装redis

①Windows版 Redis下载地址:https://github.com/MicrosoftArchive/redis/releases

  • 注:强烈不推荐在生产环境使用Windows 系统运行Redis服务

②解压后的目录:

③编辑配置文件并执行redis-server.exe

C:\Users\weirdo>cd C:\Users\weirdo\Desktop\redis
C:\Users\weirdo\Desktop\redis>redis-server.exe redis.windows.conf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值