我们可能会遇到需要运行的某些命令在godis中不存在的情况,这个时候我们可以使用其原生的方式运行命令,为了方便使用,封装了一个方法,用于简化这个过程。...需要注意的是,执行命令的返回结果返回的是interface{},需要对其进行解析成可读的实体结构。...传递的参数logger是用来打印日志的: // RunRedisCmd 运行redis命令 func RunRedisCmd(redis *godis.Redis, logger *log.Logger...= nil { logger.Println(cmdStr) } err := redis.SendByStr(cmd, byteArr...) if err !...) rsl, err := utils.RunRedisCmd(redis, logger, "set", "userage", "1") if err !
3.删除key del key1 key2 ... Keyn
1.String常用命令 2.list常用命令 特点: 存取有序、有下标、允许重复 存值 命令 说明 lpush key value[value …] 从列表的头部插入数据 rpush key value...[value …] 从列表的尾部插入数据 取值 命令 说明 lrange key start stop 获取指定列表的从start开始查看到stop的全部数据,stop为-1,代表最后一个 lpop...key 从头部移除数据 rpop key 从尾部移除数据 其他操作 命令 说明 lrem key count value 删除当前列表中count个value,count>0从头删,count<0从尾删...,count=0,删除全部 3.set常用命令 特点: 存取无序、无下标、不允许重复 4.zset常用命令 5.Java操作Redis
redis-cli 中。 使用命令 info Keyspace 查看存储数据的相关信息。
Redis 命令 Redis命令用于在redis服务上执行操作。 要在redis服务上执行命令需要一个redis客户端。Redis客户端在我们之前下载的的redis的安装包中。...语法 Redis客户端的基本语法为: [root@localhost ~]# redis-cli 实例 以下实例讲解了如何启动 redis 客户端: 启动redis客户端,打开终端并输入命令redis-cli...该命令会连接本地的redis 服务。...PING命令,该命令用于检测 redis服务是否启动。...在远程服务上执行命令 如果需要在远程redis服务上执行命令,同样我们使用的也是redis-cli命令。
如果想要在 Redis 中查看相关的命令可以使用 help 命令来进行查看,命令如下: 127.0.0.1:6379> help @pubsub 按下回车后,可以看到 发布与订阅 相关命令的说明...上图中就是 Redis 中关于 发布与订阅 的全部命令。 发布与订阅的关系 发布与订阅之间的关系是,订阅者通过订阅指定的频道来接收发布者发布的消息,发布与订阅的示意图如下所示。 ? ?...前面的控制台别进行操作,再新打开一个 Redis 的命令行控制台,然后针对 news.it 和 news.health 两个频道分别发布消息。...3、psubscribe 该命令的作用是:按照指定的模式订阅相关的频道。 为了进行测试,再打开一个 Redis 的命令行控制窗口,订阅一个 news.dt 的频道。...再打开一个 Redis 的命令行窗口来进行测试,命令如下。 127.0.0.1:6379> psubscribe news.?t Reading messages...
通用命令介绍 Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令,比如删除键、对键进行改名、判断键是否存在等。...简单说,就是 keys 分类的命令,如下图。 ? 上图中圈中的部分,就是所谓的通用的命令。如果想要在 Redis 中查看相关的命令也可以使用 help 命令来进行查看,命令如下。...常用 keys 命令 为了大家能够直接复制命令进行测试,下面我就不截图了。...1 127.0.0.1:6379> get test1 (nil) 与 expire 命令相关的命令有三个,分别是: expireat 命令用来 设置一个 UNIX 时间戳的过期时间,这个命令就不举例了...test3" 2) "url" 3) "test1" 4) "test2" 127.0.0.1:6379> keys test* 1) "test3" 2) "test1" 3) "test2" 在 Redis
字符串命令 Redis种的字符串有三种类型的值:字节,整数和浮点数 (1)命令列表 SET:SET key value ——设置存储在给定键种的值 GET:GET key value ——获取存储在给定键种的值...GETRANGE命令由以前的SUBSET命令改名而来的,如果是2.6或以上redis版本,使用getrange()方法来获取字串 2....集合命令 Redis的集合以无序的方式来存储多个各不相同的元素,可以快速的对集合进行添加,删除、元素检查、组合和关联等操作 (1)常用集合命令 SADD:sadd key item [item…]...散列命令 Redis的散列将多个键值对存储在Redis的键里面 (1)散列常用命令 HSET:hset key-name key value ——为散列添加键值对 HGET:hget key-name...有序集合命令 和散列存储着键与值之间的映射类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及和根据分值大小有序地获取或扫描成员和分值的命令 (1)常有有序集合命令 ZADD:
Redis 支持多种数据结构,比如 字符串、列表、集合、有序集合 和 哈希 等数据结构。本次我整理了关于 集合 相关的命令,也就是关于 Sets 相关的命令,如下图。 ?...上图中用红色圈中的部分,就是关于 集合 相关的命令。如果想要在 Redis 中查看相关的命令也可以使用 help 命令来进行查看,命令如下。...127.0.0.1:6379> help @set 在按下回车后,可以看到相应分类命令的说明,如下图。 ? 图中就是部分关于 Sets 相关的部分命令。...常用 Sets 相关命令 Sets 数据类型是 Key 对应的 Value 的类型,在 Redis 中所有的 Key 都是字符串,所谓的数据类型表示的是 Value 的类型。...Redis 常用的几种基本数据类型总结完成后,我会再逐步的梳理 Redis 的各种应用场景,希望大家可以喜欢。 ?
Redis 支持多种数据结构,比如 字符串、列表、集合、有序集合 和 哈希 等数据结构。本次我整理了关于 哈希 相关的命令,也就是关于 Hashes 相关的命令,如下图。...上图中用红色圈中的部分,就是关于 哈希 相关的命令。如果想要在 Redis 中查看相关的命令可以使用 help 命令来进行查看,命令如下。...本文介绍的哈希是 Redis 几种基础数据类型的最后一个数据类型了,其中 字符串、集合、有序集合、列表,在前面都介绍过了。...在后面的内容中,我会逐步的再整理其他相关的命令,还有基础数据结构的一些应用场景。而且,我也会整理一些我看过的 Redis 的源码进行分享。...我希望能较为完整的将我对 Redis 的所学进行整理,方便自己的回顾。
帮助命令 Redis 有很多的命令,想要一下子记住那么多的命令是不太现实的,而且也没有必要全部背会,因为 Redis 提供了功能帮助命令,只要使用帮助命令即可。...Redis 的帮助命令是 help,和大多数的其他工具类似。...此时,Redis 客户端自动切换到了 hmset 命令,如果是我们想要查看到命令,按下回车键即可。...这就是 Redis 的帮助命令,在刚刚接触 Redis 的时候,会经常使用该命令来查看帮助,快速、直接、省时的 Redis 帮助命令。...在掌握了帮助命令之后,我们就可以方便快捷的展开 Redis 的学习了,因为对于 Redis 的学习,大部分就是在学习用 Redis 提供的命令来管理和使用 Redis。
一、背景 Redis因高性能、轻量的优秀特性成了互联网公司缓存的标配,有的时候我们想增加一些自定义的命令,主要是重度使用Redis的场景,像抢购的场景,要保证多个Redis命令的事务性,如果没有很好的原子性保证...今天我们以一个实际的案例讲述如何增加一个Redis命令,这个命令主要用于防刷的场景: 经常要将某个IP或某个用户封禁一段时间,如果不用这个命令的方案如下: 先incr下,然后判断是否为1,是1则设置过期时间...:表示增加到多少为止不增加了,如果设为10,则返回的最大值就是11,返回11表示已经超出了; 二、编写命令 1、下载redis代码 本文所用Redis版本为3.2.11; 下载代码并切到3.2.11分支...0,NULL,1,1,1,0,0} }; redisCommandTable为一个数组,每个项表示一个redis命令,其中第一个表示命令的名字,第二个为实际处理的函数,第3个为参数的个数,其它的先不详细讨论...三、写在最后 最后我们还是要问自己我们的场景中是否有增加Redis命令的必要,如果需要则要把握好各层之间的职责,不要让Redis最后变成处理业务去了;一般来说中间件层一般处理比较通用的功能,越到下面的层应该越稳定
Sadd命令 Redis Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。 假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。...语法 redis Sadd 命令基本语法如下: redis 127.0.0.1:6379> SADD KEY_NAME VALUE1..VALUEN 可用版本:>= 1.0.0 返回值 被添加到集合中的新元素的数量..." 2) "foo" redis 127.0.0.1:6379> SCARD myset (integer) 2 Redis Smembers 命令返回集合中的所有的成员。...Redis Scard 命令返回集合中元素的数量。 Srandmember 命令 Redis Srandmember 命令用于返回集合中的一个随机元素。...从 Redis 2.6 版本开始, Srandmember 命令接受可选的 count 参数: 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同
Redis的存储是以key-value的键值对的形式存储的,其中key都是String类型,value常见的就是以下的5种。 1....age --批量获取 hgetall hash 获取key的所有值 hkeys hash 获取hashmap中所有的key hvals hash 获取hashmap中所有的value 3,List Redis...redis的list是按插入顺序排序的,可以添加的一个节点到链表的头部(头插)或者尾部(尾插),是一个双向链表,对两端的操作性能会比较高,对中间节点的操作性能相对来说较差(因为得通过指针对遍历对应的节点...value3 --向list的头部(最右边)添加多个元素 lpop myList -- 将 list的尾部(最左边)元素取出 rpop myList --将 list的尾部(最右边)元素取出 4,Set Redis...(集合里的每个节点是唯一的,但是评分却可以是相同的),利用这个特性我们可以利用redis来实现排行榜。也可以很快速的获取到一个区间内的节点。
redis有5种数据结构,他们是键值对中的值,对于键来说有一些通用的命令。..." 5) "redis" 6) "lianst" 7) "mylist" 8) "b" 9) "a" 10) "lian" 查看键总数 语法:dbsize [root@vultr ~]# redis-cli..." 8) "b" 9) "a" 10) "lian" 127.0.0.1:6379> dbsize (integer) 10 dbsize命令在计算键总数的时候不会遍历所有键,而是直接获取redis...内置的键总数变量,所以dbsize命令的时间复杂度是0(1)(时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数)。...而keys命令会遍历所有键,所以他的时间复杂度是O(n),当redis保存大量键时,线上环境禁止使用。
redis是当前使用很广泛的一款内存key-value软件,有时需要查询下目前redis内存里面有哪些满足条件的键值,在线上系统一定不要使用keys命令,该命令会导致redis停止一切工作,如果redis...键值要很多的话会导致redis长时间内都不会响应其他任何命令,这个时候scan命令就呼之欲出了,scan命令可以达到keys命令的效果同时又不会redis出现类似stop-the-world事件的发生,...SCAN 命令是一个基于游标的迭代器(cursor based iterator): SCAN 命令每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数...SSCAN 命令用于迭代集合键中的元素。 HSCAN 命令用于迭代哈希键中的键值对。 ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。...PS:不同版本redis命令可能会略有不同,执行前可以使用help scan查看具体命令 参考文章: 1、http://doc.redisfans.com/key/scan.html 2、http://
浅浅了解redis基础命令 Microsoft Windows [版本 10.0.19044.2251] (c) Microsoft Corporation。保留所有权利。.../* redis默认是分为16个库用索引来获取通过select x来切换库 */ C:\Users\dengmi>redis-cli 127.0.0.1:6379> select 1 OK 127.0.0.1...:6379[1]> select 2 OK 127.0.0.1:6379[2]> select 0 OK /*刷新库,因为redis是缓存数据库所以当刷新完 库中的内容将被清除*/ 127.0.0.1...:6379> flushdb OK /* redis中存取值都是以key与value来存取 输入set会自动得到生成格式 输入get同样也会生成获取格式 */ 127.0.0.1:6379> set...test:student ccc (integer) 2 127.0.0.1:6379> zrange test:student 0 2 1) "aaa" 2) "bbb" 3) "ccc" /* 全局命令
什么是Redis Redis首先是一个存储数据库,数据在缓存在内存中,数据是K-V结构。...Redis的使用 Redis安装使用 Redis的数据类型 类型 描述 备注 string 字符串 K-V 最大值存储512M list 简单字符串列表,可以将元素添加最左边或者右边 最多存储232 -...启动命令:redis-server 连接命令:redis-cli (本地) redis-cli -h 127.0.0.1 -p 6379 -a “mypwd” (remote) 介绍命令之前先说下命令返回值的类型...7 zrange key start end withscores 通过索引区间返回有序集合指定分数区间内的成员 事务 序号 命令 描述 1 multi 标记一个事务的开启 2 exec 执行事务内的命令...image.png Redis的优点 性能高,读的速度110000次/秒,写的速度81000次/秒 所有指令都是原子级,支持多个操作事务,使用MULTI和EXEC。
领取专属 10元无门槛券
手把手带您无忧上云