Redis学习笔记
<svg xmlns="http://www.w3.org/2000/svg" style="display: none">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0)"></path>
</svg>
<p></p>
一、Nosql 的概念
- 什么是 Nosql(not only SQL)
不仅仅有 SQL , 泛指非关系型数据库。Nosql 产品天生为大数据而生。 - Nosql 产品的特点
- 基于内存存储;
- 不是基于二维表存储;
如: redis 基于 key-value 存储
MongDB 基于文档存储
Hbase 基于列存储 - 没有复杂的表连接查询操作。
- 弱化事务, 或者根本不支持事务。
- 检索数据的效率高;
- 天生对集群环境的支持良好。
- 缺陷:
由于 Nosql 产品对于事务基本上不算支持, 所以 Nosql 产品无法保证数据的强一致性。对于数据的一致性要求较高的业务场景, 不适合使用 Nosql 产品
- Nosql 产品的分类
- 键值对存储: redis 数据库
- 基于文档存储: MongoDB
- 基于列存储 : Hbase
二、Redis 简介
- 什么是 redis
redis 是一款非常受欢迎的 Nosql 产品。基于键值对存储数据。 - redis 的特点和优势
- 基于内存存储数据, 处理数据的速度快。
- 基于 key 和 value 存储数据。
- 有自己的 key 过期策略。
- 数据类型丰富。
- redis 有自己特有的持久化机制。
- 支持订阅 / 发布
- 都谁在使用 redis :
- 国外 : github 、 stackoverflow 等。
- 国内: 爱奇艺、 优酷、 淘宝 等。
三、安装 redis
准备
CentOS 7、gcc 编译环境、redis 安装包
将 redis 安装包传至 Linux 操作系统
下载地址:链接:https://pan.baidu.com/s/1G32yyTqky6lPnYXAI-4f5Q
提取码:qbvz
1. 安装 gcc 编译环境
由于 reids 是采用 c 语言编写的,故需要 gcc 编译环境用于安装
安装可参考:https://blog.csdn.net/qq_43225978/article/details/88998755#_gcc_16
2. 解压 redis3.0.0.tar.gz
tar -zxvf redis-3.0.0.tar.gz -C /usr/
3. 安装 redis
进入到解压后的目录,执行以下命令:
# 编译
make
# 安装
make install
4. 启动 redis 服务
1. 使用 redis 默认的配置启动
redis-server
2. 指定配置文件启动【重点】
- 修改配置文件 redis.conf
......
################################ GENERAL #####################################
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# 将 daemonize 值改为 yes,使 redis 服务在后台启动运行
daemonize yes......
- 启动 redis 服务
redis-server redis.conf
5. 配置 redis 为启动服务器是自动启动服务
1.
mkdir /etc/redis
2.
mkdir /var/redis
3.
cp /usr/redis-3.0.0/utils/redis_init_script /etc/init.d/redis
4.
vi /etc/init.d/redis
# 在文件最开始添加如下内容,指定 reids 作为系统服务的启动级别
#chkconfig: 345 60 60
5.
mkdir /var/redis/6379
6.
cp /usr/redis-3.0.0/redis.conf /etc/redis/6379.conf
7.
vi /etc/redis/6379.conf
8.
# 输入以下命令,显示行数
:set nu
# 修改以下内容
......
41 pidfile /var/run/redis_6379.pid
......
103 logfile /var/log/redis_6379.log
......
6. 将 redis 添加到系统服务,并设置为开机自启动
chkconfig --add redis
chkconfig redis on
7. 访问 redic 客户端命令行
1. 默认访问本机的 redis 指令
redis-cli
2. 访问远程指定服务器的 redis 指令
redis-cli -h ip -p port
8. Redis server 的停止
1. 强制结束程序
使用 kill -9 进程的 pid,强行终止 Redis 进程可能会导致 redis 持久化丢失;
1.
ps -ef | grep redis
2.
kill -9 pid
2. 使用 shutdown 命令
正确停止 redis 的方式是向 redis 发送 shutdown 命令,方法为:(关闭默认端口)
1.
cd /usr/redis-3.0.0/bin
2.
./redis-cli shutdown
四、 Redis 全局命令
-
查看所有的 key —
keys *
-
统计 key 的数量 —
dbsize
-
删除 key —
del key
-
设置 key 的过期时间 ( / 秒 ) —
expire key 时间
-
查看 key 的过期状态 —
ttl key
返回值 为正数: 代表剩余过期时间
返回值 为 -1 : 代表指定 key 存在,没有设置过期策略
返回值 为 -2: 指定的 key 已经不存在了 -
取消 key 的超时设置 —
persist key
-
清除所有 key
—flushdb
清空当前子库下所有的 key
—flushall
清空所有子库redis 默认提供了 16 个子库, 每一个子库以下标形式标注,从 0-15 个。 可以使用命令
select index
切换子库 -
退出 redis 客户端 —
quit
-
查看命令帮助文档 —
help 命令
五、 redis 的数据类型
Redis 中的数据类型种类: String list set zset hash
- String 类型 : 就是一个字符串。
- list 类型: 是一个列表。 相当于 java 中的 list 集合, 成员有下标,有序。成员可以重复。
- set 类型: 是一个集合。相当于 java 中的 set, 无序、无下标、成员不可重复。
- zset 类型: 成员会有分值。
- hash 类型: 相当于 map 结构。
六、windows 版本的 redis 的下载与安装
参考:
下载: https://github.com/MSOpenTech/redis/releases
下载指导:https://www.cnblogs.com/tommy-huang/p/6093813.html
安装指导:
https://blog.csdn.net/u012343297/article/details/78839063
Linux 安装部署 Redis(超级详细)