redis学习

Posted beautifulfuture

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis学习相关的知识,希望对你有一定的参考价值。

一:linux基础知识:

台式机是:32位+8G内存 

CentOS-6.10-i386-minimal.iso

VirtualBox-5.2.28-130011-Win.exe(6以上版本不支持32位)

1. 查看网卡以及修改网卡 

ifconfig

cd /etc/sysconfig/network-scripts

vim ifcfg-eth0

1)动态获取ip

BOOTPROTO=dhcp
修改: ONBOOT=yes
新增:DNS1=8.8.8.8

2)如果想固定虚拟机的ip,需要如下设置:

DNS1=202.106.46.151
IPADDR=192.168.1.105
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

BOOTPROTO=static

3).添加域名服务器
/etc/resolv.conf

4). 添加本地域名解析服务
vi /etc/hosts

5)重启启动网卡

/etc/init.d/network restart 或者 service network start|stop|restart

6)测试网络

ifconfig

ping www.baidu.com -c 3

 2. 设置开机自启动

1)、方法一:修改/etc/rc.local

编辑/etc/rc.local,添加你想开机运行的命令

例如:

cd /etc

vim /etc/rc.local
新增:/usr/local/redis/redis-5.0.4/utils/redis_init_script_6379 start

2)、方法二:添加成服务

linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件
Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。

例如

cd /usr/local/redis/redis-5.0.4/utils
cp redis_init_script_6379 /etc/rc.d/init.d/redis
cd /etc/rc.d/init.d

chkconfig --add redis
chkconfig --list redis

这样就可以通过service redis start 启动redis了

3. 添加环境变量

例如:

.将redis-server redis-cli加入环境变量里,就不用每次输入
/usr/local/redis/redis-5.0.4/src/redis-server了

vi /etc/profile
添加以下行:export PATH=$PATH:/usr/local/redis/redis-5.0.4/src
source /etc/profile 使操作生效

4.端口对外开放

cd /etc/sysconfig
vim iptables

新加一行开放6379端口

service iptables restart

5.yum安装

更新yum源
cd /etc/yum.repos.d
curl -O http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache

安装vim
yum install vim

二:redis安装:

 redis 中文网:http://www.redis.cn

1)gcc 安装

1.查看 gcc 版本 gcc -v

CentOS5.7默认没有安装gcc,这会导致我们无法make成功。使用yum安装:
若无安装,则运行 yum install gcc-c++

2).下载和安装
cd /usr/local
mkdir redis
cd redis
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar xzvf redis-5.0.4.tar.gz
cd redis-5.0.4
make && and make install

当执行make install之后,在/usr/local/bin下将出现一些redis脚本

技术图片

出现的问题:

make时报错
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src‘
make: *** [all] Error 2

原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。

解决办法:make时添加参数。

make MALLOC=libc

make之后,会出现一句提示
Hint: To run ‘make test‘ is a good idea ;)
但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示
$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1
解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)

yum install tcl

3).将redis-server redis-cli加入环境变量里,

就不用每次输入

/usr/local/redis/redis-5.0.4/src/redis-server了

vi /etc/profile
添加以下行:export PATH=$PATH:/usr/local/redis/redis-5.0.4/src

执行:source /etc/profile

4)修改redis配置文件redis.conf 和 redis_init_script

修改redis.conf 

cd /usr/local/redis/redis-5.0.4
cp redis.conf redis_6379.conf
vim redis_6379.conf
daemonize yes #以守护进程访问
bind 192.168.1.105 127.1.1.0 #bind多个ip

logfile "" 改成logfile "/usr/local/redis/log/redis.log" #日志存储的路径

修改 redis_init_script
cd  /usr/local/redis/redis-5.0.4/utils
cp redis_init_script redis_init_script_6379
vim redis_init_script_6379

修改图片中对应的路径

技术图片

 

5).设置开机自启动
vi /etc/rc.local
新增:/usr/local/redis/redis-5.0.4/utils/redis_init_script_6379 start

或者添加服务
cd /usr/local/redis/redis-5.0.4/utils
cp redis_init_script_6379 /etc/rc.d/init.d/redis
cd /etc/rc.d/init.d
chkconfig --add redis
chkconfig --list redis

6).端口开放,远程可连接数据
首先要保证:
Redis的配置文件Redis.conf里面的bind项目的值是我们Linux系统的IP地址,不是默认的127.0.0.1.
否则即使开启端口也不能远程访问

cd cd /usr/local/redis/redis-5.0.4 

vim redis_6379.conf

bind 127.0.0.1 改成bind 192.168.1.105 127.1.1.0(绑定两个ip,也可以绑定多个)

cd /etc/sysconfig
vim iptables
新加一行开放6379端口
service iptables restart

技术图片

 

7)redis的开启和关闭
开启redis:
方法一:

service redis start
方法二:
cd /usr/local/redis/redis-5.0.4
redis-server ./redis_6379.conf 

方法三:
cd /usr/local/redis/redis-5.0.4/utils
./redis_init_script_6379 start

关闭:
redis-cli -h 192.168.1.105 -p 6379 shutdown

或者redis-cli shutdown

 

参考文章:

https://www.cnblogs.com/qq931399960/p/10584877.html
https://blog.csdn.net/lgh1117/article/details/48270085

以上是关于redis学习的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习笔记

Redis学习笔记Redis安装和启动

redis学习基础概念摘抄

redis学习基础概念摘抄

redis学习基础概念摘抄

Redis安装 Redis学习记录