做的网站没给我备案/国内网络销售平台有哪些
目录
- 1. Redis 安装与启动
- 1.1. 安装 Redis
- 1.1.1. 在Linux上安装
- 1.1.2. 在Windows上安装
- 1.2. 启动 Redis
- 1.2.1. 在Linux上启动
- 1.2.2. 在Windows上启动
- 1.3. 连接Redis
- 1.3.1. 连接本地Redis
- 1.3.2. 连接远程Redis
- 1.3.2.1. 服务器开放端口
- 1.3.2.2. 关闭防火墙
- 1.3.2.3. 修改配置文件
- 1.3.2.4.重启Redis服务
- 2. Redis数据结构详解
- 2.1. 字符串(String)
- 2.2. 列表(List)
- 2.3. 集合(Set)
- 2.4. 有序集合(Sorted Set)
- 2.5. 哈希(Hash)
- 3. Redis 高效管理数据有效期
- 3.1. 设置数据有效期的方法
- 3.1.1. EXPIRE 、 PEXPIRE 命令
- 3.1.2. SET 命令的过期选项
- 3.1.3. TTL & PTTL 命令
- 3.2. 使用场景
Redis,全称为Remote Dictionary Server,是一种开源的、基于键值对的数据结构存储系统,以其高性能、低延迟和丰富的数据结构特性而广受欢迎。本教程旨在为初学者提供一个全面的Redis入门指南,涵盖安装、基本操作、数据类型以及实战应用,助读者快速上手并高效利用Redis提升应用性能。
Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
1. Redis 安装与启动
1.1. 安装 Redis
1.1.1. 在Linux上安装
对于Ubuntu/Debian系统,可以使用以下命令安装Redis:
sudo apt-get update
sudo apt-get install redis-server
而对于CentOS/RHEL系统,则使用:
sudo yum install redis
Redis 由四个可执行文件:
- redis-server:Redis服务器的daemon启动程序
- redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
- redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
- redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
1.1.2. 在Windows上安装
官网: https://redis.io/download/
中文: http://www.redis.cn/
GitHub下载地址:https://github.com/MSOpenTech/redis/releases
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
1.2. 启动 Redis
1.2.1. 在Linux上启动
在大多数Linux发行版中,安装完成后Redis会自动启动。如果不行的话可以使用命令行,其中/etc/redis.conf
是配置文件的地址。
redis-server /etc/redis.conf
你可以通过以下redis-cli
命令来连接Redis:
[root@wujie ~]# redis-cli
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379>
1.2.2. 在Windows上启动
双击redis-server.exe
即可运行,如下图所示,出现这个就好了哦。
可以通过redis-cli ping
命令检查Redis是否正在运行:
1.3. 连接Redis
1.3.1. 连接本地Redis
一般都可以直接使用redis-cli
命令来连接。
1.3.2. 连接远程Redis
这是一个真实的情况,在图文魔方小程序的开发中,我作为后端开发,把代码写好后丢给前端来写页面,但是前端没有安装redis服务,好吧,那我就直接用服务器上的redis好了,我先用自己的本地电脑去连接,结果是失败的。
1.3.2.1. 服务器开放端口
比如我使用的是阿里云的服务器,就要在安全组中开放6379端口。
1.3.2.2. 关闭防火墙
使用命令关闭防火墙
# 查看防火墙状态
sudo systemctl status firewalld
# 关闭防火墙
sudo systemctl disable firewalld
# 禁用防火墙(开机自动关闭)
sudo systemctl disable firewalld
1.3.2.3. 修改配置文件
配置文件名为redis.conf
,这个文件就看你们的redis安装位置啦,这里我把bind注释掉了就好了。
bind 127.0.0.1
, 只能在本地机器连接bind 127.0.0.1 192.168.1.1
, 可以通过redis-cli -p 127.0.0.1
或redis-cli -p 192.168.1.1
连接,多个IP用空格分隔就好。bind 0.0.0.0
配置成 0.0.0.0 表示没有IP限制。和不填的效果一样。
以下是一些Redis的配置信息介绍
# 是否以守护进程启动 默认:no
daemonize no# 用于设置Redis绑定的网络接口(网卡)。如果不配置bind,默认情况下Redis监听所有可用的网卡,redis只接受来自绑定网络接口的请求。
# Redis的配置文件中一般默认有bind 127.0.0.1,只允许本地连接,如果想要被远程访问注释掉bind配置或者bind外网ip即可。
bind 127.0.0.1# 是否开启保护模式 默认:yes,是否有效会被bind和requirepass配置影响
## 当protected-mode为yes
### 注释bind和requirepass,redis的保护模式生效,只能通过本地连接
### 只注释bind,配置requirepass,redis的保护模式失效,可以通过密码远程连接
### 只注释requirepass,redis的保护模式失效,可以通过bind的ip无密码连接
## 当protected-mode为no
### 无论上面的哪种场景,客户端都可以根据 bind 及 requirepass 实际参数来连接到 redis
protected-mode yes# redis服务端口 默认:6379
port 6379# 客户端连接空闲时间单位秒,如果在指定时间内没有操作则会断开连接 默认:0(不超时)
timeout 0# tcp心跳检测时间单位秒,对访问客户端的一种心跳检测,每个n秒检测一次 默认:0(不检测),建议设置成60
tcp-keepalive 0# 客户端最大连接数,设置redis同时可以与多少个客户端进行连接 默认:10000
maxclients 10000# 日志级别配置 默认:notice
## debug:能设置的最高的日志级别,打印所有信息,包括debug信息。
## verbose:打印除了debug日志之外的所有日志。
## notice:打印除了debug和verbose级别的所有日志。
## warning:仅打印非常重要的信息。
loglevel notice# 日志文件输出路径配置
## 该路径默认为空。可以根据自己需要把日志文件输出到指定位置。
logfile ""# 数据库数量配置 默认:16
databases 16# 连接密码配置 默认无密码
requirepass 123456
1.3.2.4.重启Redis服务
然后使用命令来重启服务
# 重启Redis服务
sudo systemctl restart redis.service
一旦Redis服务器配置妥当,你就可以使用redis-cli
命令来远程连接了。基本的命令格式如下:
redis-cli -h <host> -p <port> -a <password>
<host>
是Redis服务器的IP地址或域名。<port>
是Redis服务器监听的端口,默认是6379。<password>
是你的Redis服务器密码(如果设置了的话)。
2. Redis数据结构详解
Redis支持五种主要的数据类型:String(字符串)、List(列表)、Set(集合)、Hash(哈希)和Sorted Set(有序集合)。每种数据类型都有其独特的应用场景。
2.1. 字符串(String)
- 特点:可以存储数字或文本,支持对其执行增加或减少操作。
- 使用场景:计数器、用户会话信息、短文本存储等。
SET user:1 "wujie" # 设置键值对
GET user:1 # 获取键值,输出 "wujie"
INCR user:age # 将键的值增加1,假设初始值为0
GET user:age # 获取键值,输出 "1"
2.2. 列表(List)
- 特点:双向链表实现,可以在列表两端进行插入或删除操作。
- 使用场景:队列系统、微博的消息流、最近浏览记录等。
LPUSH mylist "apple" # 左侧插入元素
RPUSH mylist "banana" # 右侧插入元素
LRANGE mylist 0 -1 # 获取列表所有元素,输出 ["apple", "banana"]
2.3. 集合(Set)
- 特点:无序集合,每个元素独一无二,适合做去重处理或集合运算。
- 使用场景:好友关系存储、标签分类、共同关注等。
SADD fruits "apple" # 添加元素到集合
SADD fruits "orange"
SMEMBERS fruits # 获取集合所有元素,输出 ["apple", "orange"]
2.4. 有序集合(Sorted Set)
- 特点:自动排序的集合,每个元素都与一个浮点数分数关联,用于排序。
- 使用场景:排行榜、时间线索引、优先级队列等。
ZADD leaderboard 100 "player1" # 添加元素到有序集合,并指定分数
ZADD leaderboard 50 "player2"
ZRANGE leaderboard 0 -1 # 获取有序集合的所有元素和分数,输出 ["player1", "player2"]
2.5. 哈希(Hash)
- 特点:字段-值映射,适用于存储对象。
- 使用场景:存储配置文件、用户信息、购物车等。
HMSET user:1 name "Tom" age 30 # 添加字段和值到哈希表
HGETALL user:1 # 获取哈希表中的字段和值,输出 {"name": "Tom", "age": "30"}
3. Redis 高效管理数据有效期
在许多应用场景下,数据具有临时性,例如网页缓存、用户会话信息或限时消息。为这类数据设置有效期可以:
- 节省资源:自动清理不再需要的数据,避免内存占用。
- 保持数据新鲜度:确保获取的是最新的数据副本。
- 提升安全性:限制敏感数据的生命周期。
3.1. 设置数据有效期的方法
3.1.1. EXPIRE 、 PEXPIRE 命令
**EXPIRE key seconds**
:设置key在seconds秒后过期。**PEXPIRE key milliseconds**
:设置key在milliseconds毫秒后过期。
SET mykey "Hello"
EXPIRE mykey 10 # 设置mykey在10秒后过期
3.1.2. SET 命令的过期选项
在使用SET
命令设置键值时,可以直接指定过期时间:
SET mykey "Hello" EX 10 # EX表示以秒为单位
SET mykey "Hello" PX 10000 # PX表示以毫秒为单位
3.1.3. TTL & PTTL 命令
**TTL key**
:查询key的剩余生存时间,以秒为单位,如果已过期或不存在则返回-2或-1。**PTTL key**
:查询key的剩余生存时间,以毫秒为单位。
TTL mykey # 返回mykey剩余的生存时间(秒)
3.2. 使用场景
设置数据有效时间在许多场景下非常有用,例如:
- 缓存:在缓存服务器上存储的数据通常是暂时的,可以使用过期时间自动清除旧数据。
- 会话管理:用户会话信息可以在用户登录后设置一个过期时间,以便在会话结束时自动清除。
- 临时授权:如验证码等敏感信息,可以在验证后设置一个短时间的过期,确保它们不会长时间留在系统中。
相关文章:

Redis 教程:从入门到入坑
目录 1. Redis 安装与启动1.1. 安装 Redis1.1.1. 在Linux上安装1.1.2. 在Windows上安装 1.2. 启动 Redis1.2.1. 在Linux上启动1.2.2. 在Windows上启动 1.3. 连接Redis1.3.1. 连接本地Redis1.3.2. 连接远程Redis1.3.2.1. 服务器开放端口1.3.2.2. 关闭防火墙1.3.2.3. 修改配置文件…...

计算机图形学入门31:动画与模拟的求解
1.前言 上一篇介绍了动画与模拟的很多方法、模拟各种运动、基本知识。定义一个物体的速度和加速度,算出物体在任何时刻的位置,但是没有介绍具体怎么实现。这篇文章就是从上一篇的概念出发,介绍怎么把一个物体或多个物体运动的位置、不同时间出…...

Jmeter-单用户单表查询千条以上数据,前端页面分页怎么做
这里写自定义目录标题 单用户单表查询千条以上数据 单用户单表查询千条以上数据 对于单用户查询千条以上数据,但是前端页面做了分页的情况下 可以直接把查询接口下的分页限制去掉,便可查询出当前页面查询条件下的全部数据 例如去掉如下内容࿱…...

夏日养猫攻略!你家猫咪缺水了吗?补水罐头秘籍大公开
炎炎夏日,高温来袭,这几天又有几只猫咪因为中暑被送到我们医院了,经过诊断,发现猫咪体温超过40C,而且严重缺水。 各位铲屎官真的得注意,酷暑炎热,给猫咪补水很重要。猫咪的汗腺数量远远不及人类…...

生成名片格式
/*** 生成名片* param array arr2 卡片素材* param array strs 素材文字 数组* param function successFn 回调函数* * */PosterCanvasCard: function(arr2, strs, successFn, errFun) {let that this;const ctx uni.createCanvasContext(myCanvas);ctx.clearRect(0, 0, 0, 0…...

Linux常用命令(简要总结)
Linux常用命令 Linux 是一个强大的操作系统,广泛应用于服务器、开发和嵌入式系统中。掌握一些常用的 Linux 命令对于高效地使用系统至关重要。以下是一些常用的 Linux 命令及其简要说明: 文件和目录操作 ls:列出目录内容 ls ls -l # …...

从挑战到实战!TDengine 新能源行业研讨会要点回顾
近年来,随着全球对可再生能源需求的不断增长,新能源行业迎来了前所未有的发展机遇。然而,伴随着行业的快速发展,海量数据的管理和高效利用成为了行业面临的重要挑战。如何通过先进的数据管理技术提升新能源系统的效率和可靠性&…...

Linux 之 设置环境变量
设置环境变量 启动帐号后自动执行的是 文件为 .bashrc,然后通过这个文件可设置自己的环境变量; 临时设置环境变量: 在终端中使用 export 命令可以临时设置环境变量,例如:export PATH$PATH:/your/custom/path这种方法设…...

postgresql删除用户
背景 **角色与用户**:在 PostgreSQL 中,用户和组的概念是通过“角色”来统一实现的。角色可以有登录权限(在这种情况下,它们通常被称为“用户”),也可以没有(在这种情况下,它们通常用…...

【java深入学习第5章】Spring Boot 统一功能的实现及处理方式
Spring Boot 统一功能处理 在开发 Web 应用程序时,为了提高代码的可维护性和可扩展性,我们通常会采用一些统一的功能处理方式。本文将介绍如何在 Spring Boot 中实现统一的数据返回格式、异常处理和功能处理,并通过一个图书管理系统的案例来…...

【常见开源库的二次开发】基于openssl的加密与解密——单向散列函数(四)
目录: 目录: 一、什么是单项散列函数? 1.1 如何验证文件是否被修改过 1.2 单项散列函数: 二、单向hash抗碰撞 2.1 弱抗碰撞(Weak Collision Resistance) 2.2 强抗碰撞(Strong Collision Resista…...

获取不重复流水号(java)
一:概述 很多业务场景都需要获取不重复的业务流水号,当微服务项目或服务多节点部署时,获取流水号场景使用分布式锁性能低下,可以基于数据库行锁实现获取不重复流水号。 二:创建流水号数据库 CREATE TABLE serial (i…...

【python虚拟环境管理】【mac m3】 使用pipx安装poetry
文章目录 一. 安装 pipx二. 安装Poetry1. 安装2. advanced 操作 官网文档:https://python-poetry.org/docs/ pipx介绍文档:https://blog.51cto.com/u_15064632/2570626 一. 安装 pipx pipx 用于全局安装 Python 命令行应用程序,同时在虚拟环…...

git使用以及理解
git练习网站 Learn Git Branching git操作大全Oh Shit, Git!?! git commit git branch name git merge bugFix 合并俩个分支 git rebase main git checkout headgit switch head 会导致HEAD分离 ,就是指head->HEAD->c1 相对引用 ------------------- …...

openlayers 3d 地图 非三维 立体地图 行政区划裁剪 地图背景
这是实践效果 如果没有任何基础 就看这个专栏:http://t.csdnimg.cn/qB4w0 这个专栏里有从最简单的地图到复杂地图的示例 最终效果: 线上示例代码: 想要做这个效果 如果你的行政区划编辑点较多 可能会有卡顿感 如果出现卡顿感需要将边界点相应…...

GEO数据挖掘从数据下载处理质控到差异分析全流程分析步骤指南
0. 综合的教学视频介绍 GEO数据库挖掘分析作图全流程每晚11点在线教学直播录屏回放视频: https://www.bilibili.com/video/BV1rm42157CT/ GEO数据从下载到各种挖掘分析全流程详解: https://www.bilibili.com/video/BV1nm42157ii/ 一篇今年近期发表的转…...

我想我大抵是疯了,我喜欢上了写单元测试
前言 大家好我是聪。相信有不少的小伙伴喜欢写代码,但是对于单元测试这些反而觉得多此一举,想着我都在接口文档测过了!还要写什么单元测试!写不了一点!! 由于本人也是一个小小程序猿🙉…...

【Visual Studio】Visual Studio使用技巧及报错解决合集
目录 目录 一.概述 二.Visual Studio报错问题及解决方法 三.Visual Studio操作过程中遇到的问题及解决方法 四.Visual Studio编译优化选项 五.Visual Studio快捷键 一.概述 持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visua…...

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例
服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…...

算法题目整合
文章目录 121. 小红的区间翻转142. 两个字符串的最小 ASCII 删除总和143. 最长同值路径139.完美数140. 可爱串141. 好二叉树 121. 小红的区间翻转 小红拿到了两个长度为 n 的数组 a 和 b,她仅可以执行一次以下翻转操作:选择a数组中的一个区间[i, j]&…...

万界星空科技AI低代码平台:重塑数字化创新边界
在这个日新月异的数字化时代,技术的飞速发展正以前所未有的力量重塑着每一个行业。企业如何在瞬息万变的市场环境中保持竞争力,实现业务的快速迭代与创新? 重塑开发模式,加速数字化转型 传统软件开发周期长、成本高、门槛高&…...

iredmail服务器安装步骤详解!如何做配置?
iredmail服务器安全性设置指南?怎么升级邮件服务器? iredmail是一个功能强大的邮件服务器解决方案,它集成了多个开源软件,使您能够快速部署和管理邮件服务。AokSend将逐步引导您完成安装过程,无需深入的编程知识即可轻…...

【vue深入学习第1章】Vue.js 中的 Ajax 处理:vue-resource 库的深度解析
在现代前端开发中,Ajax 请求是与后端进行数据交互的关键技术。Vue.js 作为一个渐进式 JavaScript 框架,提供了多种方式来处理 Ajax 请求,其中 vue-resource 是一个较为常用的库。尽管 vue-resource 在 Vue 2.x 之后不再是官方推荐的 Ajax 处理…...

JDK新特性(Lambda表达式,Stream流)
Lambda表达式: Lambda 表达式背后的思想是函数式编程(Functional Programming)思想。在传统的面向对象编程中,程序主要由对象和对象之间的交互(方法调用)构成;而在函数式编程中,重点…...

【ARM】MDK-服务器与客户端不同网段内出现卡顿问题
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版,在获取授权时都会出现4-7秒的卡顿,无法对keil进行任何操作,彻底…...

c++树(一)定义,遍历
目录 树的定义 树的基本术语 树的初始起点:我们定义为根 树的层次: 树的定义: 树的性质 性质1: 性质2: 树形结构存储的两种思路 树的遍历模板 树上信息统计方式1-自顶向下统计 树上信息统计方式2-自底向上统…...

YOLOv5和LPRNet的车牌识别系统
车牌识别系统 YOLOv5和LPRNet的车牌识别系统结合了深度学习技术的先进车牌识别解决方案。该系统整合了YOLOv5目标检测框架和LPRNet文本识别模型 1. YOLOv5目标检测框架 YOLO是一种先进的目标检测算法,以其实时性能和高精度闻名。YOLOv5是在前几代基础上进行优化的…...

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)
1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…...

MySQL双主双从实现方式
双主双从(MM-SS) 前言 避免单一主服务器宕机,集群写入能力缺失 从 1 复制 主1 ,从 2 复制 主 2 主 1 复制 主 2,主 2 复制主 1 也就是 主 1 和主 2 互为主从。主1主2互为主从, 是为了以下情景,…...

pico+unity手柄和摄像机控制初级设置
1、摄像头配置 摄像头模式、floor是追踪原点类型(将根据设备检测到地面的高度来计算追踪原点), Device 模式时,为通常理解的 Eye 模式,不会将根据设备检测到地面的高度来计算追踪原点 选择floor时,修改相…...