redis-cli操作lua

这篇具有很好参考价值的文章主要介绍了redis-cli操作lua。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装redis-cli

redis-cli连接远程服务 redis-cli.exe -h host -p port -a password

info server 查看redis服务器版本

C:\Users\ly-zhengzc>redis-cli.exe -h 172.26.123.154 -p 6379 -a 123456
172.26.240.154:6379> info server
# Server
redis_version:5.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:8a279a9d39031785
redis_mode:standalone
os:Linux 3.10.0-1160.24.1.el7.x86_64 x86_64

172.26.240.154:6379> set a 123
OK
172.26.240.154:6379> get a
"123"

172.26.240.154:6379> eval "return redis.call('get', 'a')" 0
"123"
172.26.240.154:6379>

执行lua脚本

执行lua脚本的两种方式

登录redis-cli后执行

C:\Users\ly-zhengzc>redis-cli.exe -h 172.26.123.154 -p 6379 -a 123456
172.26.240.154:6379> set a 123
OK
(0.62s)
172.26.240.154:6379> eval "return redis.call('get', 'a')" 0
"123"
172.26.240.154:6379> eval "return redis.call('set', 'a', '234')" 0
OK
172.26.240.154:6379> get a
"234"
172.26.240.154:6379> eval "return redis.call('get', 'a')" 0
"234"
172.26.240.154:6379>

redis-cli命令执行

redis-cli.exe -h host -p port -a auth eval lua_script key1 key2 , arg1 arg2 arg3

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456  eval "return redis.call('set', 'a', '234')" 0
OK

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 eval "return redis.call('get', 'a')" 0
"234"

redis-cli命令执行,lua命令先保存在一个文件中,在执行

把lua脚本写到文件中,编辑的时候也方便一些
redis-cli.exe -h host -p port -a auth --eval lua_file key1 key2 , arg1 arg2 arg3

get.lua

local key=KEYS[1]
return redis.call('get', key)
D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval get.lua a
"234"

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval d:/tmp/lua/get.lua a
"234"

key参数和arg参数之间逗号,在逗号两边需要加空格,不然会报错

Lua redis() command arguments must be strings or integers

lua脚本 get

get.lua

local key=KEYS[1]
return redis.call('get', key)

执行

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval get.lua   a
"123"

D:\tmp\lua>

lua脚本 set

set.lua

local key=KEYS[1]
local value=ARGV[1]

return redis.call('set', key, value)

执行

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval set.lua   a , 234
OK
D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval get.lua   a
"234"
D:\tmp\lua>

lua脚本 del

del.lua

local key=KEYS[1]
return redis.call('del', key)
D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval del.lua   a
(integer) 1

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval get.lua   a
(nil)

lua脚本 del 匹配通配符删除

修改 del.lua

local key=KEYS[1]

local licenseKeys = redis.call('keys', KEYS[1])

local del_count = 0
for i, v in ipairs(licenseKeys) 
do 
del_count = del_count +1
redis.call('del', v) 
end

return del_count

第一次删除,删除了两个,第二次删除了0个文章来源地址https://www.toymoban.com/news/detail-498762.html

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval del.lua   a-*
(integer) 2

D:\tmp\lua>redis-cli.exe -h 172.26.240.154 -p 6379 -a 123456 --eval del.lua   a-*
(integer) 0

到了这里,关于redis-cli操作lua的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis安装以及配置隧道连接(centOs)

    目录 1.centOs安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Xshell配置隧道 1.修改 /etc/redis/redis.conf 修改 bind 127.0.0.1 为 bind 0.0.0.0 修改 protected-mode yes 为 protected-mode no 使⽤命令“redis-cli shutdown\\\"先关闭redis 服务, 再使⽤“redis-server /etc/redis.conf ”启动redis 服务       全部配置之后, 需要

    2024年02月14日
    浏览(93)
  • 本机安装docker,redis并进行连接实战

    win10系统,想要在本机搭建一套开发环境,需要安装zk,redis等组件,一个个的安装显然效率太低且复杂,这里考虑安装docker及相关镜像 docker官网下载:https://docs.docker.com/desktop/install/windows-install/ 下载完成后直接安装即可,安装完成会有一个docker desktop图标 打开powershell ,输入

    2024年02月15日
    浏览(44)
  • Linux安装Redis数据库,实现远程连接

    转发自cpolar内网穿透的文章:公网远程连接Redis数据库【内网穿透】 Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。 下面介绍如何在内网虚拟机的linux中搭建redis并通过cpolar内网穿透实现公网访问

    2024年02月08日
    浏览(51)
  • 初识Redis——Redis概述、安装、基本操作

    目录 一、NoSQL介绍 1.1什么是NoSQL 1.2为什么会出现NoSQL技术 1.3NoSQL的类别 1.4传统的ACID是什么 1.5 CAP 1.5.1 经典CAP图 1.5.4 什么是BASE 二、Redis概述 2.1 什么是Redis 2.2 Redis能干什么 2.3 Redis的特点 2.4 Redis与memcached对比 2.5 Redis的安装 2.6 Docker安装 三、 基本操作 3.1.1 set 3.1.2set操作的选

    2024年02月16日
    浏览(44)
  • 【Redis】windows上安装的Redis,并在springboot中配置并且连接详细(排坑)

    比如在开发测试阶段,为了方便就直接使用自己windows装好redis进行简单测试了,在项目中不去单独配置yam的redis属性可以正常操作,但是在springboot的yam中配置redis连接属性时候却连不上,特意记录一下方便后续再遇到能快速解决 一般情况下,打开Redis安装目录中的 redis.window

    2024年01月16日
    浏览(62)
  • 使用宝塔安装mysql,redis后配置远程连接服务

    1.宝塔面板【软件商店】-【应用搜索】,搜索MySQL,然后点击安装想要的版本,我这边是安装的5.6版   2.安装完后重置数据库管理员密码     3.修改mysql配置 输入【mysql -u root -p】 后回车,输入密码,密码就是第二步重置的密码    4.输入【use mysql;】 5.输入【update user set host =

    2024年02月07日
    浏览(43)
  • Linux centos安装Redis数据库并远程连接

      目录 前言 1. Linux(centos8)安装redis数据库 2. 配置redis数据库 3. 内网穿透 3.1 安装cpolar内网穿透 3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址 4.1 保留一个固定tcp地址 4.2 配置固定TCP地址 4.3 使用固定的tcp地址连接 Redis作为一款高速缓存的key value键值对的数据库,在许许多多的

    2024年02月04日
    浏览(46)
  • Redis安装-常用命令及操作

    目录 一.Redis简介 二.redis安装 1.1安装Linux版本 1.2安装 windows版本 三.redis的常用命令 Redis哈希(Hash) Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。    它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据

    2024年02月06日
    浏览(47)
  • Redis——基础篇(包含redis在云服务上的docker化安装和连接以及常用命令)

    Redis为键值型数据库,数据以键值形式存储。没有表,没有约束。  mysql就是典型的关系型数据库(SQL)。 目的都是数据的增删改查,但数据存储方式不一样。   关系型和非关系型在结构上有差异 关系型的结构一般定好后就很少修改,非关系型的就更加自由  关系型数据库的关

    2024年02月13日
    浏览(48)
  • Redis的安装方法与基本操作

    目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一)RDB持久化 (二)AOF持久化 总结 Redis是一个开源的内存数据结

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包