Redis 介绍使用

前言

介绍 Redis 之前,先了解下 NoSQL (Not noly SQL)

不仅仅是 SQL 属于非关系型数据库;Redis 就属于非关系型数据库

传统的Mysql ,oracle ,sql server 等, 都是关系型数据库

为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心

High performance - 高并发读写

Huge Storage - 海量数据的高效率存储和访问

High Scalablility && High Availability 高可扩展性和高可用性

NoSQL 产品 MongoDB Redis 等等 Redis目前主流

NoSQL的特点:

  • 易扩展

  • 灵活的数据模型

  • 大数据量,高性能

  • 高可用

高性能键值对数据库,支持的键值数据类型

  • 字符串类型

  • 列表类型

  • 有序集合类型

  • 散列类型

  • 集合类型


Redis 简介

Redis 是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。

Redis支持五种数据类型:

string(字符串),hash(哈希),list(列表),set(无序集合)及 zset(sorted set:有序集合)

内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过 Redis Sentinel 提供高可用,通过Redis Cluster提供自动分区。

Redis 官网:https://redis.io/

Redis 学习教程:https://www.w3cschool.cn/redis/

www.redis.cn
www.redis.net.cn

Redis用途:

  1. 数据库

  2. 缓存

基于内存存储的数据库:redis、memcache

Redis的应用场景

  • 缓存

  • 任务队列

  • 网站访问统计

  • 数据过期处理

  • 应用排行榜

  • 分布式集群架构中的session分离


Redis 安装

Redis 服务端安装

1、Redis 的服务端安装

gcc 编译 c 的,因为 redis 是 c 编写的,所以我们先安装下 gcc

yum install gcc-c++
在这里插入图片描述
在这里插入图片描述

wget 方式 下载 redis 压缩包:

wget http://download.redis.io/releases/redis-5.0.2.tar.gz(wget方式 下载redis压缩包)

或者

yum -y install wget
在这里插入图片描述
tar -xvf redis-5.0.2.tar.gz(解压)
在这里插入图片描述

cd redis-5.0.2(进入目录)
在这里插入图片描述

make(编译)
在这里插入图片描述

下面这个是已经编译好了的:
在这里插入图片描述

redis-5.0.2/redis.conf

开启守护进程,不开启的话,不能做其他操作

				 #daemonize no
				   daemonize yes 

在这里插入图片描述

不能操作如下:

				./src/redis-server redis.conf

可以操作如下(指定redis.conf)

			./src/redis-server redis.conf

在这里插入图片描述

./src/redis-cli (使用redis)
在这里插入图片描述
ping
在这里插入图片描述

Exit(退出)
在这里插入图片描述

	开放端口
	firewall-cmd --zone=public --add-port=6379/tcp --permanent
	
	跟新防火墙规则
	firewall-cmd --reload
	
	防火墙列表
	firewall-cmd --zone=public --list-ports
	
	防火墙状态
	systemctl status firewalld
	
	启动防火墙
	systemctl start firewalld

/相当于Ctrl+F

n是查找下一个


Redis 客户端安装

  1. 可视化管理工具 redis-desktop-manager 安装与配置

    redis-desktop-manager-0.8.8.384

2.1 双击 redis-desktop-manager-0.8.8.384.exe 即可

这个安装很简单的,我就不讲了哈,?O(∩_∩)O?

2.2 配置远程登录

			      vi redis-5.0.2/redis.conf                              #编辑redis配置文件
			      #bind 127.0.0.1                                       #注释这一行(69行)

在这里插入图片描述

2.3 配置密码登录

	      vi redis-5.0.2/redis.conf                              #编辑redis配置文件
	      
	      #找到下面这一行并去除注释,并添加密码(396行)
	      #requirepass foobared                                 #修改前
	      requirepass 123456                                    #修改后

在这里插入图片描述

注意:配置完成密码后,以后登录就密码按下面的命令进行登录

	      ./redis-cli -h 127.0.0.1 -p 6379 -a 123456

在这里插入图片描述

2.4 重启 redis 或 ubuntu

		      service redis-server restart
		      #reboot
  1. 通过命令操作 redis (命令不区分大小写)

     				   redis默认的数据库有16,mongodb是3个:admin/local/test
     				   redis-cli                                           #打开redis终端 
     				   select index                                        #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
     				
     				   #字符串
     				   set name                                            #保存
     				   get name                                            #获得
     				   type name                                           #查看类型   
     				   keys *
     				   del name
     				
     				
     				   #哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
     				   hset key attr1 value1 attr2 value2
     				   hget key attr1
     				   hgetall key
     				   
     				   #列表(List)
     				   lpush key value1 value2 value3
     				   llen key
     				   lindex key index
     				   lrange key start stop                               #stop可以为-1,到末尾的意思
     				   
     				   #Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
     				   sadd key value                                      #sadd idcard 100  
     				   sadd key value1 value2 vlaue3
     				   scard key
     				   sscan key cursor [MATCH pattern] [COUNT count]
     				       
     				 
     				   exists key                                           #检查key是否存在
    

Redis 内存存储、持久化、集群

1、基于内存存储

2、redis 持久化策略

			redis.conf
				rdb
				aop

问题:

  • 1、redis的数据何时消失

  • 2、何时redis与mysql数据会同步一次

redis默认采取的是rdb持久方式

rdb 持久化策略:
比如说redis存储了1000个key,当其中100key对应的值在60s发生了改变,那么久将redis与
mysql的数据进行同步一次。同步的机制,在redis.confg中进行设置

aof 持久化策略:
redis每改变内存中一条数据,就会将内存与mysql数据同步一次,并且记录日志。安全性更高,
数据不易丢失

rdb 与 aof结合使用

aof 特点:

  • 1、数据是以文件的形式存储

  • 2、每当数据发生改变的时候,都会记录一次日志,就同步一次数据库

rdb 特点:

  • 1、数据是保存在内存,数据是容易丢失的,读写速度快

  • 2、内存发生改变的时间,有redis.conf中的设置有关
    900 10000
    60 1
    300 100

3、redis支持集群(单机多节点集群,多台Linux机器集群)

主从模式

redis集群最少要三台主机(多台机器集群)
通常公司会至少使用6台(主从模式)

在不使用集群时:是将所有静态数据放到一台Linux主机的内存中。
当数据量过大,一台机器的内存不足。那么会采用多台机器进行分散存储,将多台机器进行集群。


本章小结:

redis简介(基于内存存储、持久化特点、集群的概念)
redis的安装
redis server
gcc
通过网址从网上下载redis的Linux版本进行安装
解压 tat -xvf 。。。。
进到解压路径 通过make对该目录进行编译

可启动redis(启动后是不可再输入其他Linux命令)
需要修改redis.conf文件,设置为守护进程。

./src/redis-server redis.conf
./src/redis-cli
如果说左下角出现127.0.0.1,意味着redis安装成功

redis cli
redisdesktopmanager安装
装上了之后redis客户不能直接连接Linux上的redis
1、#bind 127.0.0.1
2、设置访问权限(123456)
3、开放防火墙端口

redis存取值的五种形式
string、hash、list、set、zset

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值