您的位置:首页 > 数据库 > Redis

redis配置安装和使用

2016-07-22 23:36 656 查看
今天突发奇想,想玩玩redis,然后就简要记录一下玩的过程中发现的问题,总体来说,感觉redis很优雅!

redis安装

在官网上下载源码,以.tar.gz为结尾,貌似官网上没有Windows版的

Linux上使用tar命令解压缩

进入redis目录,然后查看README.md,里面介绍的非常详细

依次调用make、make test、make install、然后进入util目录,执行./install_server.sh

make install时可能会需要root权限。

tar -zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make
make test
sudo make install
cd util
./install_server.sh


在安装过程中遇到的问题:

1、make时无法找到jemalloc.h文件
其实在文档里面已经写的很清楚了,

> with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc

也就是说redis在Linux系统下会默认使用jemalloc,因为它分片问题更少,但是我们可以强制使用libc
于是可以使用make MALLOC=libc

2、make test时提示我找不到tcl
不大了解tcl是干啥的,但是既然找不到,那就安装一个,

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz
cd tcl8.6.1/unix/
./configure
make
sudo make install

然后继续执行make test,直到最后出现no error即可。
这里还有个插曲,就是make test仍然提示我没有找到tcl,经过排除发现,tcl默认安装在/usr/local/bin下,但是Fedora没有把它设置为环境变量。改下path就行。

3、在执行install_server脚本时,出错什么错记不大清了
原因是必须进入redis中util目录再执行./install_server.sh


redis使用

如果按照流程走完之后,redis服务器应该已经启动,并且已经设置为开机自启了。这时候我们在console中输入redis-cli,应该会出现一个命令行,这就是redis的客户端。

redis是一个键值对的非关系型数据库,之前用过memcache,但是redis比memcache更加强大,redis可以支持list类型、set类型、sorted set类型和hash类型等等。这里面我个人觉得最有意思的是hashmap,一个简单的命令是:hset name age 18。这里面name是这个hashmap的name,或者说是key,而age则是hashmap里面的key。因为redis是key-value型的,也就是说在使用的过程中,必须设置key才行。

如何远程连接呢?

比如我有个主机是192.168.171.128在运行redis-server程序,那么我在192.168.171.131上如何连接呢?

首先在默认安装的时候是拒绝连接的,因为在配置文件中(/etc/redis/6379.conf)中指定了bind 127.0.0.1

也就是只能本地连接。因此要把bind 127.0.0.1注释掉

然后这样还不够,还要把protected-mode设置为no,否则的话还是连接不上去。这样配置完之后就OK 了。

在131主机上,只要指定server-cli -h 192.168.131.128就可以了,如果改了端口,就再加个参数-p指定服务器端口就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis linux 源码