Redis 常见语法

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis 常见语法

Redis语法

1.string

  • select db 选择数据库(0-20)
  • set k v 设置一个数据
  • set k1 v nx nx仅仅可以新建的时候进行插入数据
  • set k2 v xx xx仅仅可以更新的时候进行更新数据
  • mset k1 v1 k2 v2 可以进行设置多个值
  • get k 返回一个v,没有返回nil
  • mget k1 k2 k3 获取多个v
  • getrange k start end 获取一个索引从start到end,双闭合的区间
  • setrange k start value 更新区间范围,我们可以从start的索引开始,更新value数据
  • del key 删除一条kv数据
  • keys pattern 用正则查询key
  • flushdb 清空db
  • help @string 查询string相关帮助信息
  • append k v 给k的数据进行追加v这个数据
  • type k 查看value是什么类型
  • object encoding k 查看v的数据类型
  • incr k1 将integer的数据类型加一
  • incrby k1 v 将integer数据类型加v
  • decr k1 将integer的数据类型减一
  • decrby k1 v 将integer数据类型减v
  • incrbyfloat k1 v 将integer数据类型加一个浮点型
  • 数据不够长的时候编码是embstr,之后会变为raw格式
  • strlen k1 查看v的长度
  • redis-cli --raw 进行进入,会识别编码(比如自动识别GBK)
  • getset k1 v 更新新值,返回旧值
  • bitpos key bit [start] [end] 查看从start到end的字节,第一次bit出现的位置
  • bitcount key [start] [end] 查看start到end的时候,1出现的次数
  • bitop and andkey k1 k2 执行k1 k2 按位与操作
  • bitop or orkey k1 k2 按位或操作

2.list

  • lpush、lpop、rpush、rpop 和栈一样
  • lrange 0 -1 所有元素查看
  • lindex key index 查看索引位置的值
  • lrem key count value 移除count数量的value
  • linsert key after afval value 在键后面插入值
  • linsert key before befval value 在key前面插入值
  • blpop 阻塞式取值(等待有值再取出)
  • ltrim key [start] [end] 修剪,进行修剪队列

3.hash

  • hset key filed value 设置一个key field的值
  • hget key field 获得一个key field的值
  • hmset key field value field value 设置多个field的值
  • hmget key field fied 获取多个field的值
  • hkeys key 查看所有的key
  • hvals key 查看所有的field
  • hincrby key field num 增加num值

4.set

  • sadd key v1 v2 v3... 插入v1,v2,v3...
  • smembers key 列出所有的value
  • srem v1 v2 删除v1,v2...
  • sinter k1 k2 求交集并返回
  • sinterstore dest k1 k2 交集结果存储dest
  • sunion k1 k2 求并集返回
  • sunionstore dest k1 k2 并集存储dest
  • sdiff k1 k2 求差集并返回
  • sdiffstore dest k1 k2 求差集存储dest
  • srandmember k1 随机返回一个成员
  • srandmember k1 num 随机返回num个元素,num为正数,取出一个去重结果集,如果为负数,那么取出不去重结果集

5.zset

  • zadd k score mem score mem 插入数据后增加权重
  • zrange k 0 -1 取出所有的值
  • zrangebyscore k low high 取出从low到high区间的数据
  • zrange k start end 从start到end之间的数据取出
  • zscore k v 返回一个数据的分值
  • zscore k v 返回一个数据的排行
  • zrange k 0 -1 withscores 携带分数取出
  • zincrby k incrscore v 增加一个值的分值
  • zunionstore k keynum k1 k2..[aggregate max] 多个key的并集[最大值]
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
消息中间件 NoSQL Redis
Redis Stream消息队列之基本语法与使用方式
这篇文章详细介绍了Redis Stream消息队列的基本语法和使用方式,包括消息的添加、读取、删除、修剪以及消费者组的使用和管理,强调了其在消息持久化和主备复制方面的优势。
66 0
|
5月前
|
存储 缓存 NoSQL
Redis系列学习文章分享---第十三篇(Redis多级缓存--JVM进程缓存+Lua语法)
Redis系列学习文章分享---第十三篇(Redis多级缓存--JVM进程缓存+Lua语法)
80 1
|
NoSQL Redis
redis 常用语法
redis 常用语法
|
存储 缓存 运维
redis之基础语法
redis之基础语法
102 0
redis之基础语法
|
存储 消息中间件 NoSQL
Redis的介绍和安装,简单语法
Redis的介绍和安装,简单语法
112 0
|
NoSQL Redis
阿里云Redis集群兼容cluster语法
阿里云Redis集群兼容社区cluster相关语法,允许jedis client等客户端访问cluster nodes等命令,用户在开通兼容功能后,可以将自建的cluster集群无缝迁移到阿里云上的Redis集群,无须修改业务代码。
2838 0
|
1月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
|
1月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
|
1月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
68 6
|
1天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
下一篇
无影云桌面