一、基础1、简单介绍下RedisC写的开源高性能非关系型键值对数据库。底层采取epoll读写速度非常快,大多用于缓存,也提供了事务、持久化、集群以及多种数据类型的功能。2、你认为Redis有哪些优缺点?优点:读写速度快支持持久化支持事务数据结构丰富支持主从,数据分片缺点:不具备自动恢复功能较难支持在线动态扩容3、说说Redis的几种数据类型string:字符串、整数或者浮点
转载 2024-03-02 09:45:11
279阅读
redis-2.6支持通过EVAL命令来执行lua脚本,对lua脚本的支持扩展了redis的应用场景,redis支持路脚本需要做2件事redis执行lua脚本在lua脚本里能执行redis的命令接下来,我将通过一个简单的实例来解析redis如何完成上述两个工作的。 构建一个简单的redis#define DICT_SIZE 100 struct redisDict { char*
原创 2023-05-08 14:24:01
323阅读
## Redis Lua 脚本执行详解 ### 引言 Redis 是一个高性能的键值数据库,因其优秀的性能和灵活的数据结构广泛应用于缓存、会话存储等场景。为了提高数据操作的原子性,Redis 支持通过 Lua 脚本执行复杂的操作。本文将介绍如何在 Redis 中使用 Lua 脚本,并通过代码示例演示具体用法。 ### Lua 脚本基本概念 Lua 是一种轻量级的脚本语言,因其简单和高效被广
原创 2024-08-10 04:24:03
32阅读
EVAL 脚本 numkeys 键[键...] arg [arg ...]自Redis2.6.0版本起可用。时间复杂度:取决于执行的脚本。 EVAL介绍   EVAL和EVALSHA用于从Redis2.6.0版本,开始使用内置在Redis中的Lua解释器来评估脚本。 EVAL的第一个参数是一个Lua 5.1脚本。脚本不需要定义一
转载 2024-06-04 10:39:16
187阅读
# Redis执行LuaRedis中,Lua是一种强大的脚本语言,具有编程语言的灵活性和强大的执行能力。通过执行Lua脚本,我们可以在Redis中实现一些复杂的逻辑和业务操作。本文将介绍Redis执行Lua的基本概念、语法和示例代码,帮助读者了解和使用Redis中的Lua脚本功能。 ## 为什么使用Lua脚本? Redis是一种高性能的键值存储数据库,它的主要特点是快速和简单。但是,对于
原创 2023-08-20 07:26:48
68阅读
redis支持lua脚本,可以在lua脚本中将多个redis执行单元组合在一起,完成原子性操作。先来看一个使用lua的简单示例:eval "if redis.call('get',KEYS[1]) == ARGV[1] then return 0 else return -1 end" 1 name star基本语法就是这样,KEYS用来传递redis要使用key值,ARGV用来传递脚本需要的值参
转载 2023-05-25 16:00:45
915阅读
简述Redis是一个事件驱动的程序,Redis基于Reactor模式开发了自己的网络事件处理器,通过IO多路复用程序来同时监听多个套接字,并通过队列排队传输给事件分派器进行处理,事件分派器通过套接字准备执行的操作(accept、read、write、close)关联对应的事件处理器来处理这些事件。 事件分派器只有处理完一个事件之后,才会处理队列中的下一个数据。客户端客户端连接到服务器之后,服务器对
转载 2023-06-14 17:36:11
107阅读
一、引言今天讲一些redislua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能。lua脚本是用C语言写的,体积很小,运行速度很快,并且每次的执行都是作为一个原子事务来执行的,我们可以在其中做很多的事情。由于篇幅很多,一次无法概述全部,这个系列可能要通过多篇文章的形式来写,好了,今天我们进入正题吧。二、Lua简介Lua 是一个小巧的脚
转载 2024-06-27 09:10:36
299阅读
文章目录一、前言二、Lua脚本具体操作2.1 Lua脚本可以保证原子性2.2 Redis执行Lua脚本2.3 在Lua脚本中执行Redis命令2.4 将lua脚本放到文件里三、Lua脚本使用3.1 案例:对IP进行限流3.2 案例:缓存Lua脚本和自乘案例3.2.1 通过摘要调用lua脚本3.2.2 自乘案例3.3 案例:脚本超时3.3.1 lua脚本执行死循环,lua脚本中没有redis s
一、Redis 命令Redis 命令用于在 redis 服务上执行操作。要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。语法Redis 客户端的基本语法为: $ redis-cli 有时候会有中文乱码。要在 redis-cli 后面加上 --raw redis-cli --raw 就可以避免中文乱码了。实例以下实例讲解了如
转载 2023-07-28 14:18:30
90阅读
世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。关于redislua脚本的支持,这里简单描述一下 上图是执行效果 过程是这样的:1. 执行eval命令 2. lua环境将 "return 'hello world'" 封装成 f_... 的脚本函数 3. 然后执行返回不仅如此,lua脚本还可以通过redis.call和redis.pcall执行redis
Redis命令中的Pub/SubRedis在 2.0之后的版本中 实现了 事件推送的  发布订阅命令以下是Redis关于发布和订阅提供的相关命令SUBSCRIBE channel [channel ...]订阅给定的一个或多个频道的信息。PSUBSCRIBE pattern [pattern ...]订阅一个或多个符合给定模式的频道。PUBLISH channel message将信息&
转载 7月前
19阅读
Redis 集群 & Redis 事务 & Redis 流水线 & Redis 发布订阅Redis 集群linux安装redis主从配置查看当前实例主从信息Redis SentinelsentinelRedis ClusterRedis 事务Redis 流水线Redis 发布订阅Redis Lua脚本操作 Redis 集群linux安装redis 下载安装包,解压tar
转载 2024-06-21 11:13:59
37阅读
Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis执行。使用脚本的好处如下:1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。2.原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。3.复用:客户端发送的脚本会永久存储在Redis中,意味着其他客户端可以复用
转载 2023-08-23 20:32:20
118阅读
参考: https://redis.io/commands/eval 参考:https://redis.io/topics/ldb 1. redis-cli 命令行测试 命令如下:key 可以理解用于传键名称,而arg 用于传递其他参数 EVAL script numkeys key [key ..
原创 2021-07-14 16:53:45
449阅读
# Python 执行 Redis Lua 脚本的完整指南 在现代应用开发中,利用 RedisLua 脚本来提升效率是一个常见的需求。特别是,当我们需要在 Redis 中进行原子操作时,Lua 脚本提供了一种有效的方式。本文将指导你如何在 Python 中执行 Redis Lua 脚本,内容涵盖整个流程、所需代码及相关说明。 ## 1. 整体流程 以下是执行流程的简要概述: | 步骤
原创 2024-08-15 09:51:11
157阅读
# 使用 Redis 限制 Lua 脚本执行的完整指南 Redis 提供了非常强大且灵活的 Lua 脚本支持,通过它,你可以实现复杂的原子操作。然而,有时我们需要限制它的执行,比如说限制某个 Lua 脚本的执行次数,以防止系统资源被过度消耗。本文将分步骤讲解如何实现这一功能。 ## 流程概述 为了实现 RedisLua 脚本执行的限制,我们将按照以下步骤进行: | 步骤
原创 2024-09-07 03:45:38
262阅读
## 了解Redis Lua脚本 Redis 是一个高性能的键值存储系统,它支持使用 Lua 脚本来扩展其功能。通过执行 Lua 脚本,可以在客户端端执行一系列 Redis 命令,这样可以减少网络开销并提高性能。在本文中,我们将介绍如何在 Redis执行 Lua 脚本,并提供一些示例代码。 ### Redis 语句执行 LuaRedis执行 Lua 脚本非常简单,只需要使用 `
原创 2024-06-16 04:53:56
40阅读
# Golang 执行 Redis Lua 脚本的实现流程 在这篇文章中,我们将学习如何在 Golang 中执行 Redis Lua 脚本。Lua 脚本有助于在 Redis执行原子操作,以提高性能和简化代码逻辑。以下是整个实现的主要步骤。 ## 流程步骤 | 步骤 | 描述 | |------|--------------------------
原创 10月前
133阅读
一、Redis介绍:是key-value存储系统,跨平台的非关系型数据库,C语言编写。可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API,Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。且还有很多其他特性比如:publ
转载 2023-07-28 08:49:08
76阅读
  • 1
  • 2
  • 3
  • 4
  • 5