IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis基本安装与使用 -> 正文阅读

[大数据]Redis基本安装与使用

目录

一、Redis的介绍

二、Redis的原理

三、Redis的安装

四、Redis的基本命名


一、Redis的介绍

? ? ? ? ? 1、定义:? ?Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

? ? ? ? ? 2、用途:1. 数据库 2. 缓存? ??

? ? ? ? ? 3、应用场景:

? ? ? ? ? ? ? ?3.1热点数据加速查询(主要场景),如热点商品、热点信息等访问量较高的数据

? ? ? ? ? ? ? ?3.2即时信息查询,如公交到站信息、在线人数信息等

? ? ? ? ? ? ? ?3.3时效性信息控制,如验证码控制、投票控制等

? ? ? ? ? ? ? ?3.4分布式数据共享,如分布式集群架构中的session分离消息队列

二、Redis的原理

? ? ? ? ? 接下来我将用一张图为大家讲解Redis的工作原理:

大家可以想一下,在每年的双十一以及双十二中,淘宝平台的访问量以及商品的浏览量是非常大的,大的几乎难以让人想象,这时候数据就会出现宕机(意思可以认为是死机)的现象,这时总数据库有两个做法,一种是生产集群数据库,减少自己的压力,

?另一种做法就是使用Redis缓存,首先服务器先到缓存中拿取数据,如果缓存中有数据的话就将数据取出,没有数据的话,Redis就到数据库中取到数据,并且会考虑这是不是自己想要的数据,如果要的话就会取到,不要的话就不会取用,取用了之后供访问者使用。

三、Redis的安装

1、下载Redis压缩包,解压redis

2、安装gcc

3、编译redis

4、检测安装情况

5、修改redis.conf文件

6、启动redis

7、测试redis启动是否成功

8、配置成系统服务

9、重载系统服务

10、启动redis

1、下载Redis压缩包,解压redis

? ? ? ?$ tar -zxvf redis-5.0.0.tar.gz -C /usr/local/
? ? ? ?$ tar -zxf redis-5.0.0.tar.gz -C /usr/local/
? ? ? ? ? ? ?-zxf 静默解压方式
? ? ? ?$ cd redis-5.0.0(这里为压缩包的版本

2、安装gcc

yum install gcc

3、编译redis

make

4、检测安装情况(注意:如果在这一步出现了报错了,在此时就要执行一下命名,yum install -y tcl-devel,make distclean两个命名分开执行)如下图所示:

make install

?5、修改redis.conf文件(在这里需要注意的是,这里修改要修改三处,都是在redis.conf文件中,)

将daemonize no 改为 daemonize yes (在136行)

将 NETWORK 下 bind 127.0.0.1 注释掉(在55行)
并将 protected-mode ?yes ? ?改为 protected-mode ?no;(在88行)

6、启动redis

查看redis进程:ps -ef | grep redis
杀掉redis进程:kill -9 进程pid

7、测试redis启动是否成功

?ping

?8、配置成系统服务

新建redis.service文件,配置成系统服务
vi /usr/lib/systemd/system/redis.service

(新建之后就将redis.service中的内容copy到上述文件夹中(下列文字中红色字为自己创建的路径 我自己的路径如下图所示)

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/lky/redis-5.0.0/src/redis-server /lky/redis-5.0.0/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID?
ExecStop=/bin/kill -s QUIT $MAINPID?
PrivateTmp=true

[Install]
WantedBy=multi-user.target

)?

这里拓展一下,vi是指新建一个文件夹,还可以进行编辑

而vim不新建文件夹,但是可以进行编辑

9、重载系统服务

systemctl daemon-reload

10、启动redis

systemctl start redis ?#启动redis服务
systemctl stop redis ? #停止redis服务
systemctl status redis #查看redis状态
systemctl restart redis #重启redis服务
systemctl enable redis #注册服务
systemctl disable redis #注销服务

? ? ? ? ??

四、Redis的基本命名

首先要进入到redis客户端:redis-cli -h 127.0.0.1 -p 6379(redis端口号) -a 123456(密码)

?? ? ? ? ? 1、redis支持五种数据类型

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

? ? ? ? ? 2、基本命名:

? ? ? ? ? ?1、ttl? key查看当前过期时间

? ? ? ? ? ?2、type key 查看当前键的类型

? ? ? ? ? ?3、exists key 是否存在这个键

? ? ? ? ? ?4、expire key seconds设置键过期时间

? ? ? ? ? ?5、select n 选择数据库

? ? ? ? ? ?6、keys * 查看所有键?

? ? ? ? ? ?7、flushall 清空所有内容

? ? ? ? ? ?8、flushdb 清空当前库

? ? ? ? ? 3、string字符串:

1、常用命名:

? ? ? ? ? set key? ? ? ? ? ?//保存
? ? ? ? ? get key? ? ? ? ? ?//获取
? ? ? ? ? type key ? ? ? ? //查看类型
? ? ? ? ? keys *或keys key //查看所有或者指定的key

? ? ? ? ? append key value 追击内容

? ? ? ? ? incr key进行自增+1

? ? ? ? ? decr key进行自减-1

? ? ? ? ? incrby/decrby key increment? 指定长度变化

? ? ? ? ? getrange? key start end指定返回取值

? ? ? ? ? setex key? second value 设置过期时间

? ? ? ? ? setnx key value? key? 不存在创建,存在则创建失败? ?

? ? ? ? ? mset key1 v1 key2 v2 key3 v3? 批量创建key

? ? ? ? ? msetnx?key1 v1 key2 v2 key3 v3?msetnx原子性操作,要么一起成功,要么一起失败

? ? ? ?

2、常用使用场景:

? ? ? 2.1缓存结构体信息:存储JSON数据

? ? ? 2.2计数功能:实时计数统计场景,库存场景,限流计数

? ? ? 2.3session共享

? ? ? ? ? 4、hash哈希类型:

1、常用命名:

键值对对象,类似HashMap,命名都是以h开头

hset key filed value 设置hash对象的属性键值对

HGET key field 获取对应键的属性值

HGETALL key 获取该键盘上所有属性

HEXISTS key field 判断属性是否存在

HMSET key field value [field value]多属性赋值

HSETNX key field value不存在则赋值

? ? ? ? ? 5、list链表(双向链表)

1、常用命名:

? ?有序的value可以重复,可以通过下标取出对应的value值

? ?list类型的前后插入和删除速度非常快的,但是随机定位速度非常慢

? ?1、lpush? key value [value ...]

? ?2、lpop key 从左边取值(取完值后该值就消失了)

? ?3、rpush key? value [value? ....]从右边值

? ?4、rpop key? 从右边拿出值

? ?5、遍历操作: lrange key start stop 从左边开始遍历

2、常用使用场景:

?? ? ? ? ? 6、set集合

1、set集合介绍:

1、不允许有重复的元素

2、集合中的元素是无序的,不能通过索引下标获取元素

3、支持集合间的操作,可以取多个集合取交集、并集,差集

2、常用命名:

1、命名都是以s开头

2、sadd key member [member ...]添加值

3、smembers? key 拿值

4、sismember key member 判断该值是否存在

5、srem key member? [member...]? 移除值

6、scard key 查看长度

3、常用使用场景:

? ? ? ? ? 7、zset有序集合?

1、zset有序集合介绍:

类似于java的sortedSet和hashmap的结合体,一方面它是一个set啊,保证了内部value的唯一性,另一方面他可以给每一个value赋予一个score,代表这个value的排序权重,zset内部是通过跳跃列表这种书数据结构来实现的,因为zset要支持随机的插入和删除,所以不能使用数组结构,而需要改成普通链表数据结构,zset需要根据score进行排序,所以每次插入或者删除值都需要进行先在链表上查找定位

2、常用命名:

1、zadd key score member [score] [member]添加内容

2、zrange key start stop [withscores] 遍历内容

3、zscore key member 查看score权重

3、常用使用场景:

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:45:16  更:2021-12-09 11:46:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码