Redis 5 已经发布了,对有序集合新增了4个命令: ZPOPMAX ZPOPMIN BZPOPMAX BZPOPMIN 下面看一下这几个命令的作用和用法。 ZPOPMAX 命令: ZPOPMAX key [count] 作用: 从指定集合中删除并返回 count 个 score 值最高的元素。如果没有指定 count,默认值为 1。 "two" 4) "2" 5) "three" 6) "3" # 返回2个score值最高的元素 redis> ZPOPMAX myzset 2 1) "three" 2) "3" 3) "two" 4 ) "2" # 查看集合剩余元素 redis> ZRANGE myzset 0 -1 1) "one" ZPOPMIN 命令: ZPOPMIN key [count] 作用: 与 ZPOPMAX 一样, BZPOPMIN 命令: BZPOPMIN key [key ...] timeout 作用: 与 BZPOPMAX 一样,只是选择 score 最小的元素。
我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。 127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo 127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5) "yahoo hdel website baidu yahoo (integer) 2 127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 5、 127.0.0.1:6379> hgetall website 1) "google" 2) "www.google.com" 3) "baidu" 4) "www.baidu.com" 5)
我们可能会遇到需要运行的某些命令在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 !
redis 的 windows 客户端实在难用,这次连不上还 crash 了 N 次,还是转命令行吧。搜出来的教程都是杂七杂八,不适合我这种菜鸡。 1、Linux 本机连接 由于我不是直接通过 apt-get 安装的,所以需要进入 redis 文件夹下的 src 目录,里面有 redis-cli . /redis-cli -h 127.0.0.1 2、通过> select 0 选择数据库。 Redis数据库编号从0~15 3、查看所有 key > keys * 4、获取对应 key 的值 > get key 5、删除单个 key 或多个 > del key key2 6、查看当前数据库中所有 key的数量 > dbsize 7、返回redis的相关信息 > info 这里我使用了 NodeJs 存对象 var redis = require("redis"), client = redis.createClient
redis 的 windows 客户端实在难用,这次连不上还 crash 了 N 次,还是转命令行吧。搜出来的教程都是杂七杂八,不适合我这种菜鸡。 1、Linux 本机连接 由于我不是直接通过 apt-get 安装的,所以需要进入 redis 文件夹下的 src 目录,里面有 redis-cli . /redis-cli -h 127.0.0.1 2、通过> select 0 选择数据库。 Redis数据库编号从0~15 3、查看所有 key > keys * 4、获取对应 key 的值 > get key 5、删除单个 key 或多个 > del key key2 6、查看当前数据库中所有 key的数量 > dbsize 7、返回redis的相关信息 > info 这里我使用了 NodeJs 存对象 var redis = require("redis"), client =
Keyn4.修改key名称 rename key newkey 注:如果newkey已存在,则newkey的原值被覆盖5.修改key名称(解决已经存在newkey,即newkey不存在时
Keyn4.修改key名称 rename key newkey 注:如果newkey已存在,则newkey的原值被覆盖5.修改key名称(解决已经存在newkey,即newkey不存在时
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-cli 中。 使用命令 info Keyspace 查看存储数据的相关信息。
如果想要在 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可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为string(字符串),list(列表),set(集合),hash(散列),zset(有序集合),下面将分别对这5种数据类型的控制命令进行总结 字符串命令 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
通用命令介绍 Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令,比如删除键、对键进行改名、判断键是否存在等。 简单说,就是 keys 分类的命令,如下图。 ? 上图中圈中的部分,就是所谓的通用的命令。如果想要在 Redis 中查看相关的命令也可以使用 help 命令来进行查看,命令如下。 常用 keys 命令 为了大家能够直接复制命令进行测试,下面我就不截图了。 test3" 2) "url" 3) "test1" 4) "test2" 127.0.0.1:6379> keys test* 1) "test3" 2) "test1" 3) "test2" 在 Redis 1) "s" 2) "z" 3) "h" 5、persist 命令 persist 命令用来 移除 key 的过期时间 127.0.0.1:6379> set url baidu.com OK 127.0.0.1
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 命令来进行查看,命令如下。 ,该命令的用法如下: 127.0.0.1:6379> hget user001 name "zhangsan" 127.0.0.1:6379> hget user001 gender "male" 5、 3) "gender" 4) "femle" 5) "age" 6) "20" 7) "weight" 8) "65" 6、hkeys 该命令的作用是:获取哈希的所有字段,但是不获取值,该命令的用法如下 在后面的内容中,我会逐步的再整理其他相关的命令,还有基础数据结构的一些应用场景。而且,我也会整理一些我看过的 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 个元素的数组,数组中的元素各不相同
list操作 下面是使用Java实现Redis中所有List相关命令操作的示例代码: LPUSH命令:将一个或多个值插入到列表的头部 jedis.lpush("listKey", "value1", " : " + set5); // 关闭Redis连接 jedis.close(); } } sort set操作 以下是使用Java实现Redis中所有sorted set相关的命令操作的示例代码: import redis.clients.jedis.Jedis; import redis.clients.jedis.Tuple; import redis.clients.jedis.ZParams BitMap 操作 下面是一些常见的BitMap命令操作的示例: 设置指定位的值: // 设置第5个位的值为1 jedis.setbit("mybitmap", 5, true); 获取指定位的值: Redis使用场景 学完这些操作命令后,再来看看Redis的场景使用场景: 缓存 分布式锁 全局id 计数器 限流 位统计 购物车 消息队列 点赞 签到 打卡 排行榜 商品标签 商品筛选 用户关注 ..