Redis学习笔记(一)
一、Redis入门概述
1、是什么?
(1)全称:REmote DIctionary Server(远程字典服务器)。是完全开源免费的,用C语言编写的, 遵守BCD协议。是一个高性能的(key/value)分布式内存数据库,
基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
(2)Redis 与其他 key - value 缓存产品有以下三个特点
i)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
ii)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
iii)Redis支持数据的备份,即master-slave模式的数据备份
2、能干嘛?
(1)内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
(2)取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
(3)模拟类似于HttpSession这种需要设定过期时间的功能
(4)发布、订阅消息系统
(5)定时器、计数器
3、去哪下?
(1)Http://redis.io/
(2)Http://www.redis.cn/
4、怎么玩?
(1)数据类型、基本操作和配置
(2)持久化和复制,RDB/AOF
(3)事务的控制
(4)复制
(5)。。。。
二、安装
1、检查是否安装了redis
[root@bogon ~]# rpm -qa | grep redis
2、下载redis
官网地址:http://redis.io/ 我下的版本:redis-3.2.0.tar.gz
3、详细步骤
(1)解压
[root@bogon local]# tar -zxvf redis-3.2.0.tar.gz
(2)编译
[root@bogon local]# cd redis-3.2.0
未安装c编译器报以下错误
[root@bogon redis-3.2.0]# make
cd src && make all make[1]: 进入目录“/usr/local/redis-3.2.0/src” CC adlist.o /bin/sh: cc: 未找到命令 make[1]: *** [adlist.o] 错误 127 make[1]: 离开目录“/usr/local/redis-3.2.0/src” make: *** [all] 错误 2
安装c编译器并编译
[root@bogon redis-3.2.0]# yum install gcc-c++
[root@bogon redis-3.2.0]# make
cd src && make all
make[1]: 进入目录“/usr/local/redis-3.2.0/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/usr/local/redis-3.2.0/src”
make: *** [all] 错误 2
解决“jemalloc/jemalloc.h:没有那个文件或目录“问题,在进行编译(因为上次编译失败,有残留的文件)
[root@bogon redis-3.2.0]# make distclean [root@bogon redis-3.2.0]# make && make install
(3)修改配置文件
首先备份出厂配置文件 [root@bogon redis-3.2.0]# cp redis.conf redis.conf.bak [root@bogon redis-3.2.0]# vim redis.conf
将 daemonize 默认的 no 改成 yes ---> redis 服务后台运行
(4)启动服务
[root@bogon redis-3.2.0]# cd /usr/local/bin/ [root@bogon bin]# redis-server /usr/local/redis-3.2.0/redis.conf
(5)启动客户端测试
[root@bogon bin]# redis-cli -p 6379 127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> get a "1"
至此,说明redis已经安装成功,可以正常使用了。