IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 1 - 基本命令 -> 正文阅读

[大数据]Redis 1 - 基本命令

一. Redis 的应用

  1. 为热点数据加速查询,如热点商品等高访问量信息;
  2. 任务队列,如秒杀 ,抢购等;
  3. 即时信息查询,如公交到站信息,在线人数信息等;
  4. 时效性信息控制,如验证码时间控制,投票控制;
  5. 分布式数据共享,如session;
  6. 消息队列;
  7. 分布式锁。

二. Redis 支持类型

key永远为string类型,value可以为 string、list、hash、set、sorted_set
类似于Java中的String、LinkedList、HashMap、HashSet、TreeSet。

key 命名规范:表名:主键名:主键值:字段名,如 user: id:2213:fans。

1. string 命令

常用命令:

  • get/set,mget/mset,strlen(字符串长度),append(追加到字符串后)

扩展命令:

  • incr/decr,incrby/decrby,incrbyfloat/decrbyfloat 用于做自增自减操作。可用于分布式数据库控制主键生成。
  • setex/psetex 用于设置数据具有指定的生命周期。可用于限制微信号投票。

2. hash 命令

常用命令:

  • hget/hset,hgetall,hdel,hmset/hmget,hlen,hexists

扩展命令:

  • hkeys 获取key所有的field
  • hvals 获取key所有的value
  • hincrby/hincrbyfloat 按值增加
  • hsetnx 无值set,有值不做处理

注意:hash 的 value 也只能存储字符串,不允许嵌套存储 hash 结构。hgetall 操作可以获取所有属性,但是如果 field 过多,效率会很低,可能成为数据访问的瓶颈。

3. list 命令

常用命令:

  • lpush : 先进的元素排在最后
  • rpush:先进的元素排在最前
  • lrange/lindex:获取数据
  • llen
  • lpop/rpop
    lpush + rpop 或 rpush + lpop 保证元素先进先出,否则是先进后出。

扩展命令:

  • blpop/brpop:阻塞式获取数据,在规定时间内等待获取数据,超时则返回。
  • lrem : 移除指定的数据。

4. set 命令

set 的存储结构是由 hash 演变而来,以 hash 的 field 作为值(value 为 nil)进行存储就变成了 set。set 弥补了 list 查询效率低的缺陷,且不允许数据重复。

set 可以用于数据去重、求集合交集等。

常用命令:

  • sadd 向key中添加元素
  • smembers 查看key的成员
  • srem 删除key中的成员
  • scard 获取key 中数据个数
  • sismember 判断key中是否存在某成员

扩展命令:

  • srandmember 随机获取集合中指定数量的成员
  • spop 随机获取集合数据并移除
  • sinter 求两个集合的交集
  • sunion 求两个集合的并集
  • sdiff 求两个集合的差集(有方向性)

5. sorted_set 命令

支持排序的存储结构,在 set 的存储结构基础上添加可排序字段 score。

常用命令

  • zadd key score member 添加数据(score为权重)
  • zrange 获取全部数据(由小到大)
  • zrevrange 获取全部数据(由大到小)
  • zrem 删除数据

扩展命令

  • zrangebyscore/zrevrangebyscore 按条件查询数据
  • zremrangebyrank 按条件删除
  • zcard、zcount 获取数据数量
  • zrank 获取数据对应的索引(排名)
  • zscore 获取数据的score值
  • zincrby 增加score值

三. key 常用操作

1. 常用操作

  • del
  • exists
  • type(判断类型)

2. 时效性操作

  • 设置key过期时间:expire、pexpire
  • 获取key有效时间:ttl、pttl;
  • 将key的有效期设置为永久:persist

3. 查询操作

  • keys pattern

匹配模式:*匹配所有;?匹配单个字符;[]匹配中括号中的某一字符。

4. 其他操作

  • 改名操作:rename(改名后如果名字已经存在则覆盖)、renamenx
  • 排序操作:sort (为 list、set、sorted_set 排序 )
  • 查询key相关指令:help @generic

5. db 操作

redis 存储空间实际上划分成 0-15 区域,16个区域共用一块内存,但是区域之间数据相互独立。

  • select 命令选择操作的区域;
  • move 移动数据至另一个区域;
  • dbsize 获取当前区域key的数量;
  • flushdb 清除当前区域所有的 key;
  • flushall 清除所有区域所有的key。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:26:02  更:2021-11-23 12:28:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:26:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码