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]# 

 

posted @ 2019-11-19 09:59  冥想心灵  阅读(127)  评论(0编辑  收藏  举报