• Redis简单安装


    Redis介绍

    1、Redis是什么

    Redis是一种基于键值对的NoSQL数据库,与很多键值对数据库不同,redis中的值可以有string,hash,list,set,zset,geo等多种数据结构和算法组成。
    因为Redis会将所有的数据都放在内存中,所以他的读写性能非常惊人,不仅如此,Redis还可以将内存中的数据利用快照和日志的形式保存到硬盘上。
    Redis还提供了键过期,发布订阅,事务,流水线等附加功能

     访问https://redis.io/download  到官网进行下载。这里下载最新的5.0版本.

    2、 Redis重要特性

    1.速度快:Redis所有的数据都存放在内存中;Redis使用C语言实现;Redis使用单线程架构
    
    2.基于键值对的数据结构服务器:5钟数据结构:字符串,哈希,列表,集合,有序集合
    
    3.丰富的功能
    提供了键过期功能,可以实现缓存
    提供了发布订阅功能,可以实现消息系统
    提供了pipeline功能,客户端可以将一批命令一次性传到Redis,减少了网络开销
    
    4.简单稳定
    源码很少,3.0版本以后5万行左右.
    使用单线程模型法,是的Redis服务端处理模型变得简单.
    不依赖操作系统的中的类库
    
    5.客户端语言多
    java,PHP,python,C,C++,Nodejs等
    
    6.持久化
    RDB和AOF
    
    7.主从复制
    
    8.高可用和分布式
    哨兵
    集群

    3、 Redis应用场景

    1.缓存---键过期时间
    缓存session会话
    缓存用户信息,找不到再去mysql查,查到然后回写到redis
    
    2.排行榜-列表&有序集合
    热度排名排行榜
    发布时间排行榜
    
    3.计数器应用-天然支持计数器
    帖子浏览数,视频播放次数,商品浏览数
    
    4.社交网络-集合
    踩/赞,粉丝,共同好友/喜好,推送,打标签
    
    5.消息队列系统-发布订阅
    配合elk实现日志收集

    Redis安装部署

    1、目录规划

    ### redis下载目录
    /data/soft/
    ### redis安装目录
    /opt/redis_cluster/redis_{PORT}/{conf,logs,pid}
    ### redis数据目录
    /data/redis_cluster/redis_{PORT}/redis_{PORT}.rdb
    ### redis运维脚本
    /root/scripts/redis_shell.sh

    2、 安装命令

    #编辑hosts文件
    [root@node01 ~]# tail -3 /etc/hosts
    10.192.27.115 node01    
    10.192.27.116 node02    
    10.192.27.117 node03
    [root@node01 ~]# mkdir -p /data/soft
    [root@node01 ~]# mkdir -p /data/redis_cluster/redis_6379
    [root@node01 ~]# mkdir -p /opt/redis_cluster/redis_6379/{conf,pid,logs}
    [root@node01 ~]# cd /data/soft/
    [root@node01 soft]# wget http://download.redis.io/releases/redis-5.0.6.tar.gz
    [root@node01 soft]# tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/ 
    [root@node01 soft]# ln -s /opt/redis_cluster/redis-5.0.6 /opt/redis_cluster/redis
    [root@node01 soft]# cd /opt/redis_cluster/redis
    [root@node01 redis]# make && make install
    [root@node01 redis]# cp redis.conf /opt/redis_cluster/redis_6379/conf/redis_6379.conf
    A、若出现make未找到,则先进行安装。
    Command 'make' not found, but can be installed with:
    sudo apt install make
    sudo apt install make-guile
     
    B、若出现如下提示,则说明未安装gcc,使用命令安装gcc:yum install gcc。
    [root@node01 redis]# make
    cd src && make
    allmake[1]: Entering directory `/opt/redis_cluster/redis/src‘
    CC adlist.o
    /bin/sh:cc: command not found
    make[1]: *** [adlist.o] Error127
    make[1]: Leaving directory `/opt/redis_cluster/redis/src‘
    make: *** [all] Error2
    
    C、若出现如下提示,则将make改为make MALLOC=libc,推测是因为编译库的问题。
    [root@node01 redis]#make
    cd src && make all
    make[1]: Entering directory `/opt/redis_cluster/redis/src‘
    CC adlist.o
    In file included from adlist.c:34:0:
    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No suchfileor directory
    zmalloc.h:55:2: error:#error"Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error1
    make[1]: Leaving directory `/opt/redis_cluster/redis/src‘
    make: *** [all] Error2
    
    
    D、安装redis,执行make test时遇到You need tcl 8.5 or newer in order to run the Redis test
    安装 yum install tcl
    
    2、安装编译后的文件:make install,没有配置,手动复制配置:cp redis.conf /opt/redis_cluster/redis_6379/conf/redis_6379.conf
    3、设置Redis密码,编辑刚刚复制的配置文件:vi redis.conf,解除requirepass参数的注释,并设置值,例如:requirepass password
    4、使用配置文件启动Redis数据库:redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf
    编译源码安装时可能遇到的问题

    3、 配置文件说明

    ### 以守护进程模式启动
    daemonize yes
    ### 绑定的主机地址
    bind 10.0.0.51
    ### 监听端口
    port 6379
    ### pid文件和log文件的保存地址
    pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid
    logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log
    ### 设置数据库的数量,默认数据库为0
    databases 16
    ### 指定本地持久化文件的文件名,默认是dump.rdb
    dbfilename redis_6379.rdb
    ### 本地数据库的目录
    dir /data/redis_cluster/redis_6379

    4、 启动关闭服务

    [root@node01 redis]#  redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf
    [root@node01 redis]# ps -ef | grep redis
    root     156329      1  0 10:51 ?        00:00:00 redis-server 10.192.27.115:6379
    root     156357  18416  0 10:51 pts/0    00:00:00 grep --color=auto redis
    [root@node01 redis]# redis-cli -h 10.192.27.115 shutdown
    [root@node01 redis]# ps -ef | grep redis
    root     161245  18416  0 11:19 pts/0    00:00:00 grep --color=auto redis
    [root@node01 redis]#  redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf
    [root@node01 redis]# ps -ef | grep redis
    root     161249      1  0 11:19 ?        00:00:00 redis-server 10.192.27.115:6379
    root     161300  18416  0 11:19 pts/0    00:00:00 grep --color=auto redis
    [root@node01 redis]# 
  • 相关阅读:
    浅谈页面的瀑布流布局
    前端常用动画库
    JavaScript七宗罪和一些槽点
    prototype与 _proto__的关系
    Javascript之傻傻理不清的原型链、prototype、__proto__
    C#开发微信门户及应用(26)-公众号微信素材管理
    C#开发微信门户及应用(25)-微信企业号的客户端管理功能
    基于InstallShield2013LimitedEdition的安装包制作
    Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
    Entity Framework 实体框架的形成之旅--Code First的框架设计(5)
  • 原文地址:https://www.cnblogs.com/linux985/p/11887391.html
Copyright © 2020-2023  润新知