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

Redis 入门概述

2017-03-24 17:29 274 查看
一、概述

1、Redis:REmote DIctionary Server(远程字典服务器)

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster

是完全开源免费的,用C语言编写的,遵守BSD协议,

是一个高性能的(key/value)分布式内存数据库,基于内存运行

并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,

也被人们称为数据结构服务器

2、Redis 与其他 key - value 缓存产品有以下三个特点

① Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

② Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

③ Redis支持数据的备份,即master-slave模式的数据备份


注意:

内存中的数据断电消失,但是redis 具有持久化的支撑是RDB \AOF,在重启之后可以再次加载进行使用


二、使用场景

1、内存存储和持久化

redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务


2、取最新N个数据的操作

如:可以将最新的10条评论的ID放在List集合


3、 pub/sub 发布/订阅 构建实时消息系统

pubish  subscribse  PSubscribe命令


4、计数器

INCR和DECR命令


5、定时器

精确设定过期时间


6、 Uniq操作,获取某段时间内所有数据排重值

Set数据类型


7、构建队列系统

使用list可以构建队列系统,使用sort set 甚至可以构建优先级队列


三、官网

redis 官网英文版

redis 官网中文版

redis 的下载直接在官网进行下载

四、下载安装 Redis

前提:在Linux环境或者 VMWare +VMTools 虚拟环境

1、官网安装

Download, extract and compile Redis with:

$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz $ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make


The binaries that are now compiled are available in the src directory. Run Redis with:

$ src/redis-server


You can interact with Redis using the built-in client:

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"


2、CentOS6安装redis

1)、检查安装依赖程序

yum install gcc-c++
yum install -y tcl
yum install wget


2)、线上获取安装文件

wget http://download.redis.io/releases/redis-3.2.8.tar.gz[/code] 
3)、解压文件

tar -xzvf redis-3.2.8.tar.gz
mv redis-3.2.8 /usr/local/redis


4)、编译安装

cd /usr/local/redis
make
make install


5)、复制配置文件

mkdir -p /etc/redis
cp redis.conf   /etc/redis


6)、修改配置文件

vim /etc/redis/redis.conf
仅修改: daemonize yes


Deamonuze 守护进程 类似windows的server ,改为后台启动,如果为no时一关闭窗口,则断开连接

7)、启动 redis 服务

/usr/local/bin/redis-server  /etc/redis/redis.conf

ps -ef | grep redis  查看redis是否启动


8)、使用客户端

redis-cli

>set name david
OK
>get name
"david"


9)、关闭命令

redis-cli shutdown


10)、开机自启配置

echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local


参考 https://segmentfault.com/a/1190000002685224

运行make命令时出现的错误解析:

make[3]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/opt/redis-2.8.9/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/opt/redis-2.8.9/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/opt/redis-2.8.9/src'
make: *** [all] Error 2


情况一:

1)、有网时

yum install gcc-c++


2)、二次make ,出现异常

yum install gcc make
make[1]: Entering directory `/opt/redis-3.2.8/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 `/opt/redis-3.2.8/src'
make: *** [all] 错误 2


3)、运行make distclean之后再make

4)、如果make完成后继续执行make install

情况二(IOS 镜像中安装gcc)

1)、



2)、下图是关机后,setting选择后重新启动CentOS



3)、在终端中输入 cd /media/CentOS_5.2_Final/CentOS 回车



4)、分别执行如下命令

rpm -ivh cpp-4.1.2-48.el5.i386.rpm回车
rpm -ivh kernel-headers-2.6.18-194.el5.i386.rpm回车
rpm -ivh glibc-headers-2.5-49.i386.rpm    回车
rpm -ivh glibc-devel-2.5-24.i386.rpm     回车
rpm -ivh libgomp-4.4.0-6.el5.i386.rpm 回车
rpm -ivh gcc-4.1.2-48.el5.i386.rpm   回车

rpm -ivh glibc-headers-2.5-49.i386.rpm 在有的centos版本中没有,可以忽略


5)、二次make,报告Jemalloc/jemalloc.h:没有那个文件或目录,用make distclean解决



6)、三次make,安装成功



7)、/usr/local/bin目录下看到redis大片相关命令和文件,安装成功



8)、安装成功执行命令和出厂默认配置文件设置与调整



保留出厂默认文件,将它拷贝一份到别处,开始运行Redis
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis