Redis学习笔记

一、Nosql的概念

  1. 什么是Nosql(not only SQL)
    不仅仅有SQL ,泛指非关系型数据库。Nosql产品天生为大数据而生。
  2. Nosql产品的特点
    1. 基于内存存储;
    2. 不是基于二维表存储;

      如: redis 基于 key-value存储
      MongDB 基于文档存储
      Hbase 基于列存储

    3. 没有复杂的表连接查询操作。
    4. 弱化事务, 或者根本不支持事务。
    5. 检索数据的效率高;
    6. 天生对集群环境的支持良好。
  3. 缺陷:
    由于Nosql产品对于事务基本上不算支持, 所以Nosql产品无法保证数据的强一致性。

    对于数据的一致性要求较高的业务场景, 不适合使用Nosql产品
    在这里插入图片描述

  4. Nosql产品的分类
    1. 键值对存储: redis 数据库
    2. 基于文档存储: MongoDB
    3. 基于列存储 : Hbase

二、Redis简介

  1. 什么是redis
    redis是一款非常受欢迎的Nosql产品。基于键值对存储数据。
  2. redis的特点和优势
    1. 基于内存存储数据, 处理数据的速度快。
    2. 基于key 和 value存储数据。
    3. 有自己的key过期策略。
    4. 数据类型丰富。
    5. redis有自己特有的持久化机制。
    6. 支持订阅/发布
  3. 都谁在使用redis :
    1. 国外 : github 、 stackoverflow 等。
    2. 国内: 爱奇艺、 优酷、 淘宝 等。

三、安装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

redis编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录

4. 启动redis 服务

1. 使用redis默认的配置启动

	redis-server

2. 指定配置文件启动【重点】

  1. 修改配置文件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
    
    ......
    
    
  2. 启动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全局命令

  1. 查看所有的key — keys *

  2. 统计key的数量 — dbsize

  3. 删除key — del key

  4. 设置key的过期时间 ( /秒 ) — expire key 时间

  5. 查看key的过期状态 — ttl key
    返回值 为正数: 代表剩余过期时间
    返回值 为 -1 : 代表指定key存在,没有设置过期策略
    返回值 为 -2: 指定的key已经不存在了

  6. 取消key的超时设置 — persist key

  7. 清除所有key
    flushdb 清空当前子库下所有的key
    flushall 清空所有子库

    redis默认提供了16个子库, 每一个子库以下标形式标注,从0-15个。 可以使用命令select index切换子库

  8. 退出redis客户端 — quit

  9. 查看命令帮助文档 — 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(超级详细)

posted @ 2020-12-17 18:13  IT-小浣熊  阅读(28)  评论(0)    收藏  举报