1.Redis 是什么?
Redis:REmote DIctionary Server(远程字典服务器)。
是完全开源免费的,用C语言编写的,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
2.Redis 三个特点?
• 由 C 语言编写。
• Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
• Redis支持数据的备份,即master-slave模式的数据备份。
• Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
• Key-Value、Cache、Persistence。
3.Redis 能干什么?
• 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
• 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面。
• 模拟类似于 HttpSession 这种需要设定过期时间的功能。
• 发布、订阅消息系统。
• 定时器、计数器。
4.Redis 学习地址?
5.Redis的安装(Linux 系统在线安装Redis)
5.1 因为redis是c语言开发的,所以需要安装gcc(在根目录下执行):
yum install gcc-c++
5.2 因为是在线安装,需要使用wget命令,如果linux中没有,就用如下命令安装(在根目录下执行):
yum -y install wget
5.3 下载redis最新的稳定版本,也可以下载其他版本压缩包:
最新版本:
wget http://download.redis.io/redis-stable.tar.gz
指定版本:
wget http://download.redis.io/releases/redis-4.0.14.tar.gz
5.4 解压redis压缩包到指定目录:
tar -zxvf redis-4.0.14.tar.gz -C /opt/module
5.5 进入到redis的解压文件中,编译redis:
make & make test
5.6 安装redis:
make install PREFIX=/usr/local/redis
说明:PREFIX参数指定文件的安装目录,一般安装在/usr/local/目录下已经生成redis目录
5.7 将配置文件移动到redis目录
mv redis.conf /usr/local/redis
5.8 默认启动redis(不是后台启动,程序关闭该进程就关闭)
进入redis到安装目录中,即/usr/local/redis/bin:
./redis-server
5.8.1 启动成功,如下图:
说明:redis的默认端口是6379,也可以对其进行修改。
5.9 后台启动redis
默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
vim /usr/local/redis/redis.conf
将daemonize的值改为yes
5.10 客户端连接
[root@hadoop101 bin]# /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
[root@hadoop101 bin]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 "hello"
OK
127.0.0.1:6379> get k1
"hello"
说明:出现如上证明客户点连接成功。
在客户端关闭redis实例:
127.0.0.1:6379> SHUTDOWN
not connected> exit
[root@hadoop101 bin]#
5.11 停止redis实例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
5.12 让redis开机自启
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis-conf
5.13 接下来我们看看/usr/local/redis/bin目录下的几个文件时什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
6.Redis 启动后基础知识:
• 单进程
• 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
• select命令切换数据库
• dbsize查看当前数据库的key的数量
• flushdb:清空当前库
• flushall;通杀全部库
• 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
• Redis索引都是从零开始
• 为什么默认端口是6379:指定Redis监听端口,默认端口为6379。作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字 port 6379