安装学习博客地址:
http://www.cnblogs.com/it-cen/p/4295984.html
http://blog.csdn.net/haniyan/article/details/23122487
redids下载地址
windows: https://github.com/MSOpenTech/redis/releases
linux : http://redis.io
php-redis下载地址
windows : https://pecl.php.net/package/redis
linux:yum -y install php-redis
基本知识
基本知识
1、Redis的数据类型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的独特之处:
(1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能
(2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构
3、持久化的两种方式:Redis将数据存储于内存中,或被配置为使用虚拟内存。
实现数据持久化的两种方式:
(1)使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)
(2)使用类似mysql的方式,记录每次更新的日志
4、Redis的主从同步:对提高读取性能非常有益
5、Redis服务端的默认端口是6379
新手安装步骤
1、先到Redis官网(http://redis.io)下载redis安装包
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
2. 在 /opt/目录下新建目录 redis/
创建压缩包目录,并将安装包放到移动到redis目录
创建redis安装目录&修改目录权限766
编译&安装
cd /opt
mkdir/redis
cd redis
mkdir redis_tar
cd redis_tar
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
ls
见图1
cd ..
mkdir redis_online <=> /opt/redis/redis_online
chmod 766 redis_online
cd /opt/redis/redis-3.2.8/
make
cd src
make install PREFIX=/opt/redis/redis_online
(如果报错,使用下面方式安装)
make MALLOC=libc
cd src
make install PREFIX=/opt/redis/redis_online
3.将安装包里的配置文件移动到安装目录下的etc目录(如果没有etc目录,新建)
mkdir /opt/redis/redis_online/etc
cp /opt/redis/redis_tar/redis-3.2.8/redis.conf /opt/redis/redis_online/etc/redis.conf
4.配置redis启动配置文件
bind 127.0.0.1 绑定允许访问的IP 允许任意IP访问,需要注释掉
protected-mode yes 保护模式,允许外部IP访问时,需要改为no
daemonize yes 后台运行(以守护进程运行)
5.启动redis
/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
前面是启动redis服务器,后面是指定启动配置文件
见图2
6.默认情况,redis不是在后台运行,我们使用时要把redis放到后台运行
vim /opt/redis/redis_online/etc/redis.conf
将daemonize的值改为yes (以守护进程运行)
7.重启redis
/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
8.客户端连接
/opt/redis/redis_online/bin/redis-cli
见图3
9、停止redis实例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、让redis开机自启
vim /etc/rc.local 加入 /opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf
或者
echo "/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf" >> /etc/rc.local
11、接下来我们看看/usr/local/redis/bin目录下的几个文件时什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
图1
image.png
图2
image.png
图3
image.png
安装&使用QA
遇到问题
1./bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127
原因:
gcc是用来编译各种源代码的软件,所谓GCC包,就相当于安装GCC的安装包啦,类似[WIN]下的setup.exe
然后[RPM]是不需要GCC就可以装的
不过[TAR]都是[源代码],你得自己编译才能装,所以一定要装GCC,不然无法装
哪里有GCC…好问题!gcc.gnu.org不过我认为,正常的[LINUX]发行版都有自己的程序管理软件,你进管理软件搜索GCC,应该就可以装了至于看有没有GCC,去/usr/[bin]下,如果有GCC这个文件,说明你有装。没有说明没装。
解决办法: A/B两种方法都可以解决,B方法安装的类库更多
A: yum -y install gcc
B: yum -y install gcc gcc-c++ libstdc++-devel
Q: 安装redis 报错
#make
cd src && make all
make[1]: Entering directory `/software/redis-2.8.8/src'
CC adlist.o
In file included from adlist.c:34:
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 `/software/redis-2.8.8/src'
make: *** [all] Error 2
原因: 不知道
A:
make MALLOC=libc
Q:
# make test
cd src && make test
make[1]: Entering directory `/software/redis-2.8.8/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/software/redis-2.8.8/src'
make: *** [test] Error 2
A:安装tcl
ubuntu apt-get install ctl
centos yum -y install ctl
A.修改配置文件目录
mkdir /etc/redis
cp redis.conf /etc/redis/redis.conf
redis使用命令
//设置变量
set test1 1
set test2 abc
//获取变量
get test1
get test2
网友评论