一、什么是Redis
Redis是Remote Dictionary Server(远程数据服务)的缩写,由意大利人antirez(Salvatore Sanflippo) 开发的一款 内存高速缓存数据库,该软件使用C语言编写,它的数据模型为(key-value),它支持丰富的数据结构(类型),如:字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets) 。可持久化,保证了数据安全。也称之为Nosql数据库。
Redis的持久化 例:如果服务器断电,内存数据是不会丢失的,它会一边运行,一边备份到硬盘中一份,当通电它就会将硬盘数据还原加载到内存中。
缓存有两种类型:数据缓存、页面缓存(smarty)
缓存的优点:使用缓存减轻数据库的负载。
缓存的两种形式:
1.页面缓存经常用在CMS内存管理系统中
2.数据缓存经常会用在页面的具体数据中
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上 (或者是通过较少的计算量就可以获得该数据) ,该行为就称作对该数据的缓存。该介质可以是文件、数据库、内存,内存经常用于数据缓存。
二、 redis和memcache比较
①Redis不仅仅支持简单的k/v类型的数据,同时还提供list, set, zset, hash等数据结构的存储。
②Redis支持master-slave(主-从)模式应用。
③Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
④Redis单个value的最大限制是1GB, memcached只能保存1MB的数据。
三、安装Redis
1、官网下载Redis的tar包。附:http://www.redis.com.cn/download
2、CentOS-6.8系统root用户下上传tar文件到指定目录,解压。
2.1进入到redis解压目录,直接使用make指令使用编译
2.2错误处理:执行make遇到错误提示 gcc: 命令未找到
[root@CentOS redis-3.2.6]# make
...
MAKE hiredis
cd hiredis && make static
make[3]: Entering directory `/usr/local/java/redis-3.2.6/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: Leaving directory `/usr/local/java/redis-3.2.6/deps/hiredis'
make[2]: *** [hiredis] 错误 2
make[2]: Leaving directory `/usr/local/java/redis-3.2.6/deps'
make[1]: [persist-settings] 错误 2 (忽略)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] 错误 127
make[1]: Leaving directory `/usr/local/java/redis-3.2.6/src'
make: *** [all] 错误 2
问题原因:这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示。
解决方法:安装gcc在linux环境有网的情况下执行命令:
[root@CentOS ~]# yum -y install gcc automake autoconf libtool make
[root@CentOS ~]# yum install gcc-c++
再次执行又遇到错误:
[root@CentOS redis-3.2.6]# make
cd src && make all
make[1]: Entering directory `/usr/local/java/redis-3.2.6/src'
CC adlist.o
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] 错误 1
make[1]: Leaving directory `/usr/local/java/redis-3.2.6/src'
make: *** [all] 错误 2
原因及解决:因为上次编译失败,有残留的文件,所以需要执行以下命令:
[root@CentOS redis-3.2.6]# make distclean
然后再次执行:
[root@CentOS redis-3.2.6]# make
或者:
[root@CentOS redis-3.2.6]# make install
执行通过:
3、进入到src目录查看他的子文件 解释
4、创建Redis运行目录,并copy两个文件过去:
[root@CentOS src]# mkdir /usr/local/redis
[root@CentOS src]# cp redis-cli redis-server /usr/local/redis/
4.1退到上层目录(redis的解压文件目录中),将redis.conf配置文件也copy到Redis运行目录中:
[root@CentOS redis-3.2.6]# pwd
/usr/local/java/redis-3.2.6
[root@CentOS redis-3.2.6]# ls
00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
BUGS deps MANIFESTO runtest sentinel.conf utils
CONTRIBUTING INSTALL README.md runtest-cluster src
[root@CentOS redis-3.2.6]# cp redis.conf /usr/local/redis/
5、进入到redis的运行目录,前端启动redis服务成功的标志(栈中):Ctrl+C退出
6、后端启动redis服务,修改配置文件redis.conf将128行设置为yes则为后台启动:
[root@CentOS ~]# cd /usr/local/redis/
[root@CentOS redis]# ls
redis-cli redis.conf redis-server
[root@CentOS redis]# vim redis.conf
执行./redis-server redis.conf 在后台启动redis服务:
[root@CentOS redis]# pwd
/usr/local/redis
[root@CentOS redis]# ps -A |grep redis
[root@CentOS redis]# ./redis-server redis.conf
[root@CentOS redis]# ps -A |grep redis
9405 ? 00:00:00 redis-server
[root@CentOS redis]#
7、redis的简单操作使用:
[root@CentOS redis]# ls
redis-cli redis.conf redis-server
[root@CentOS redis]# ./redis-cli
127.0.0.1:6379> set name bob
OK
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> set height 180
OK
127.0.0.1:6379> get name
"bob"
127.0.0.1:6379> get age
"23"
127.0.0.1:6379> get height
"180"
127.0.0.1:6379>
转载请注明出处:BestEternity亲笔。