Redis是简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
NoSQL介绍
NoSQL,泛指非关系型的数据库。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
键值(Key-Value)存储****数据库是NoSQL的其中一类, 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Redis数据库 这部分数据库通常是用来应对分布式存储的海量数据。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,集群等高可用功能。
特点:
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持的类型 String, List, Hash, Set 及 Ordered Set 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis是一个简单的,高效的,分布式的,基于内存的缓存工具。 架设好服务器后,通过网络连接(类似数据库),提供Key-Value式缓存服务。
简单,是Redis突出的特色。 简单可以保证核心功能的稳定和优异。
Redis总结
redis单个key 存入512M大小
redis支持多种类型的数据结构(string,list,hash.set.zset)
redis 是单线程 原子性
redis可以持久化 因为使用了 RDB和AOF机制
redis支持集群 而且redis 支持库(0-15) 16个库
redis 还可以做消息队列 比如聊天室 IM
企业级开发中:可以用作数据库、缓存(热点数据(经常会被查询,但是不经常被修改或者删除的数据)和消息中间件等大部分功能。
Redis安装
Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
安装gcc
gcc的安装很简单,首先要确保root登录,其次就是Linux要能连外网
yum -y install gcc automake autoconf libtool make
**注意:**运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决
rm -f /var/run/yum.pid
安装Redis
命令1: wget http://download.redis.io/releases/redis-4.0.1.tar.gz
命令2:tar zxvf redis-4.0.1.tar.gz
命令3: cd redis-4.0.1
命令4(编译): make 或 make MALLOC=libc 如下图代表成功
命令5:make PREFIX=/usr/local/redis install
(安装编译后的文件) 安装到指目录:
**注意:**PREFIX必须大写、同时会自动为我们创建redis目录,并将结果安装此目录
命令6: cd /usr/local/redis 查看
命令7:查看bin目录下,如图:
Redis启动
启动Redis服务
进入对应的安装目录 /usr/local/redis
执行命令: ./bin/redis-server
启动Redis客户端
进入Redis客服端(Clone Session克隆一个窗口):
进入对应的安装目录 cd /usr/local/redis
执行命令: ./bin/redis-cli
启动Redis 客户端命令:
redis-cli –h IP地址 –p 端口
退出客户端命令:Ctrl+C
检测是否服务端启动
启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。
$redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
在以上实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。
Redis启动:
服务端启动:
./bin/redis-server ./redis.conf
客户端启动**:**
本地客户端登录
用redis-cli 密码登陆(redis-cli -a password)
远程服务上执行命令
如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。
语法:
redis-cli -h host -p port -a password
redis-cli –h IP地址 –p 端口 –a 密码
Redis关闭
第一种关闭方式:(断电、非正常关闭。容易数据丢失)
查询PID ps -ef | grep -i redis
kill -9 PID
第二种关闭方式(正常关闭、数据保存)
./bin/redis-cli shutdown 关闭redis服务,通过客户端进行shutdown
如果redis设置了密码,需要先在客户端通过密码登录,再进行shutdown即可关闭服务端
通过 ps –ef | grep –i redis 查看当前进程:
结束!!!