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学习的主要内容,如果未能解决你的问题,请参考以下文章