Redis6 - 尚硅谷

一、NoSQL简介

  1. 概述:
    • 不遵循SQL标准
    • 不支持 ACID
    • 远超于 SQL 的性能
  2. 适用场景
    • 对数据高并发的读写
    • 海量数据的读写
    • 对数据高可扩展性的
  3. 不适用场景
    • 需要开启事务支持的
    • 基于 SQL 的结构化查询存储,处理复杂的关系,需要 即席 查询
    • 用不着 sql 和 用了 sql 有也不行的情况,可以考虑适用 NoSql

二、常用五大数据类型

2.1 Redis 键 (Key)

  1. keys * 查看当前库中的所有 key
  2. exists key 判断当前 key 是否存在
  3. type key 查看 key 是什么类型
  4. del key 删除指定的 key 数据
  5. unlink key 根据 value 选择 非阻塞删除
    • 仅将 keys 从 keyspace 元数据中删除,真正的删除会在后续异步操作中
  6. expire key seconds 为给定的key 设置 过期时间
  7. ttl key 查看当前 key 还剩当场时间过期 ,-1 表示永不过期,-2 表示 已过期
  8. select number [0,16) 切换数据库
  9. dbsize 查看当前数据库的 key 的数量
  10. flushdb 清空当前数据库
  11. flushall 通杀全部库

2.2 Redis 字符串 (String)-- MaxLength 512

  1. set <key> <value> 添加键值对
  2. get <key> 查询对应的键值
  3. append <key> <value> 将给定的追加到原值的末尾
  4. strlen <key> 获取值的长度
  5. setnx <key> <value> 只有当 key 不存在时,才会设置 key 的值
  6. incr <key> 将 key 对应的值 +1,只能对数字进行操作,如果为空,新增值为 1
  7. decr <key> 将 key 对应的值 -1,只能对数字进行操作,如果为空,新增值为 1
  8. incrby / decrby <key> <step> 将 key 对应的值增减 step
  9. mset / mget <key1><value1> ..... 同时设置、获取 一个或多个 key-value 对
  10. msetnx <key1> <value1> ... 同时设置一个或多个 key - value对,当且仅当所有给定的 key 都不存在时。
  11. getrange <key> <start> <end> 获取 范围内的值,[start, end]
  12. setrange <key> <start> <value> 用 value 覆写 key 所存储的 字符串值,从 <start> 开始(索引从 0 开始)
  13. setex <key> <过期时间> <value> 设置 键值同时,设置 过期时间,单位 秒
  14. getset <key> <value> 以新换旧,设置 新值同时 获取旧值

2.3 Redis 列表(LIst)-- 快速链表(quickList)

  1. lpush / rpush <key> <value1> <value2> <value3> ... 从 左边 / 右边 插入一个或多个值
  2. lpop / rpop <key> 从左边 / 右边 弹出一个 值。值在键在,值光键亡
  3. rpoplpush <key1> <key2> 从 key1 右边中弹出一个 值,插入到 key2 的 左边
  4. lrange <key> <start> <stop> 按照 索引下标 获得元素 (从左到右)[start,stop],[0,-1] 为获取全部
  5. lindex <key> <index> 按照 索引下标 获取元素 (从左到右)
  6. llen <key> 获取 列表长度
  7. linsert <key> before/after <value> <newValue> 在 value 的后面插入 newValue
  8. lrem <key> <n> <value> 从左边 删除 n个 value(从左到右)
  9. lset <key> <index> <value> 将列表 key中 下标为 index 的值 替换成 value

2.4 Redis 集合(Set )-- 字典(dict)-- 哈希表

  1. sadd key member [member....] 将 一个或多个 member 元素加入到集合key中,已经存在的 member 会被忽略
  2. smembers key 获取 key 中的 所有值
  3. sismember key value 判断 集合key 中 是否包含 value值,有1,无0
  4. scard key 返回该集合的元素个数
  5. srem key value1 value2 .... 删除集合中的某个元素
  6. spop key 随机从集合中 吐出(删除) 一个值
  7. srandmember key n 随机从集合中获取 n 个值,不会删除
  8. smove source destination value 把集合(source)中的一个值移动到另一个集合(destination)中
  9. sinter / sunion / sdiff key1 key2 返回两个集合的 交集/并集/差集(key1有,key2没有)

2.5 Redis 哈希(Hash)-- 压缩列表(ziplist)/ 哈希表(hashTable)

  1. hset key field value 给 kye 集合中的 field字段 赋值为 value
  2. hget key field 从集合kye中 field字段中 取出 value
  3. hmset key field1 value1 field2 value2 .... 批量插入
  4. hexists key field 查看哈希表 key 中,给定的 field 是否存在
  5. hkeys key 列出该 集合key 中的所有 field
  6. hvals key 列出该 集合key 中的所有 value
  7. hincrby key field increment 为 哈希表 key 中的 field字段 加上 increment
  8. hsetnx key field value 当 集合key 中不存在 field字段 时,才会插入

2.6 Redis 有序集合(zset)

  1. zadd key score1 value1 score2 value2 .... 将一个或多个 member 元素及其 score值 加入到 有序集合 kye中
  2. zrange key start stop [withscores] 返回有序集合 key中,下标在 [start,stop] 之间的元素
  3. zrangebyscore key min max [withscores] [limit offset count] 返回 key 中,所有 score值 介于 [min,max] 当中的成员
  4. zrevrangebyscore key min max [withscores] [limit offset count] 同上,但改为 从小到大排列
  5. zincrby key increment score member 为 member 加上/减去 指定的 increment
  6. zrem key member 删除 key 中 指定的 member成员
  7. zcount key min max 统计该集合,分数区间内的元素个数 [min,max]
  8. zrank key member 返回该 member 在 key 中的 排名,从 0 开始
  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尚硅谷是一个教育机构,他们提供了一份关于Redis的学习笔记。根据提供的引用内容,我们可以了解到他们提到了一些关于Redis配置和使用的内容。 首先,在引用中提到了通过执行命令"vi /redis-6.2.6/redis.conf"来编辑Redis配置文件。这个命令可以让你进入只读模式来查询"daemonize"配置项的位置。 在引用中提到了Redis会根据键值计算出应该送往的插槽,并且如果不是该客户端对应服务器的插槽,Redis会报错并告知应该前往的Redis实例的地址和端口。 在引用中提到了通过修改Redis的配置文件来指定Redis的日志文件位置。可以使用命令"sudo vim /etc/redis.conf"来编辑Redis的配置文件,并且在文件中指定日志文件的位置。 通过这些引用内容,我们可以得出结论,尚硅谷Redis学习笔记涵盖了关于Redis的配置和使用的内容,并提供了一些相关的命令和操作示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis学习笔记--尚硅谷](https://blog.csdn.net/HHCS231/article/details/123637379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis学习笔记——尚硅谷](https://blog.csdn.net/qq_48092631/article/details/129662119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值