md_files/自学/Redis.md

5.0 KiB
Raw Blame History

Redis

Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库官方提供的数据是可以达到100000+的QPS每秒内查询次数。它存储的value类型比较丰富也被称为结构化的NoSql数据库(非关系型)。

主要特点:

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品、资讯、新闻)
  • 企业应用广泛

服务启动/停止:

redis-server.exe redis.windows.conf

ctrl+c

客户端连接:

redis-cli.exe (本地)

redis-cli.exe -h localhost -p 6379 -a 123456 (指定连接)

exit

Redis数据类型

image-20221130190150749

解释说明:

  • 字符串(string)普通字符串Redis中最简单的数据类型
  • 哈希(hash)也叫散列类似于Java中的HashMap结构。套娃
  • 列表(list)按照插入顺序排序可以有重复元素类似于Java中的LinkedList
  • 集合(set)无序集合没有重复元素类似于Java中的HashSet求交集
  • 有序集合(sorted set/zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素(排行榜)

Redis常用命令

字符串

Redis 中字符串类型常用命令:

  • SET key value 设置指定key的值
  • GET key 获取指定key的值
  • SETEX key seconds value 设置指定key的值并将 key 的过期时间设为 seconds 秒(验证码)
  • SETNX key value 只有在 key 不存在时设置 key 的值

哈希操作

Redis hash 是一个string类型的 field 和 value 的映射表hash特别适合用于存储对象常用命令

  • HSET key field value 将哈希表 key 中的字段 field 的值设为 value
  • HGET key field 获取存储在哈希表中指定字段的值
  • HDEL key field 删除存储在哈希表中的指定字段
  • HKEYS key 获取哈希表中所有字段
  • HVALS key 获取哈希表中所有值
image-20221130193121969

列表操作

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2] 将一个或多个值插入到列表头部
  • LRANGE key start stop 获取列表指定范围内的元素
  • RPOP key 移除并获取列表最后一个元素
  • LLEN key 获取列表长度
  • BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超 时或发现可弹出元素为止
image-20221130193332666

集合操作

Redis set 是string类型的无序集合。集合成员是唯一的这就意味着集合中不能出现重复的数据常用命令

  • SADD key member1 [member2] 向集合添加一个或多个成员
  • SMEMBERS key 返回集合中的所有成员
  • SCARD key 获取集合的成员数
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SUNION key1 [key2] 返回所有给定集合的并集
  • SREM key member1 [member2] 移除集合中一个或多个成员
image-20221130193532735

有序集合

Redis有序集合是string类型元素的集合且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令

常用命令:

  • ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员score代表分数
  • ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
  • ZREM key member [member ...] 移除有序集合中的一个或多个成员
image-20221130193951036

通用命令

Redis的通用命令是不分数据类型的都可以使用的命令

  • KEYS pattern 查找所有符合给定模式( pattern)的 key
  • EXISTS key 检查给定 key 是否存在
  • TYPE key 返回 key 所储存的值的类型
  • DEL key 该命令用于在 key 存在是删除 key