【Redis | 第一篇】Redis常见命令
目录一、Redis数据结构介绍二、Redis的通用命令三、String类型3.1 key的层级结构四、Hash类型五、List类型六、Set类型一、Redis数据结构介绍Redis是一个key-value的数据库key一般是字符串类型不过value的类型多种多样。二、Redis的通用命令通用命令是不区分数据类型的操作主要用于对 Key 本身进行管理。KEYS pattern功能查找所有符合给定模式pattern的 key。例如KEYS *会查出所有的 key。注意在生产环境中应当尽量避免使用因为 Redis 是单线程处理当 key 数量极其庞大时该命令会阻塞服务器。DEL key [key ...]功能删除给定的一个或多个 key。如果 key 不存在则直接忽略。返回值被实际删除的 key 的数量。EXISTS key [key ...]功能检查给定 key 是否存在。返回值若 key 存在返回 1否则返回 0。传入多个 key 时返回存在的 key 的总数。EXPIRE key seconds功能为指定的 key 设置过期时间单位为秒。过期后该 key 会被自动删除。TTL key功能返回给定 key 的剩余生存时间Time To Live单位为秒。返回值如果没设置过期时间返回-1如果 key 不存在或已过期返回-2否则返回剩余秒数。三、String类型String 是 Redis 最基本的数据类型一个 key 对应一个 value。它可以包含任何数据比如文本、数字。其value是字符串不过根据字符串的格式不同又分为三类string普通字符串int整数类型可以做自增、自减操作float浮点类型可以做自增、自减操作底层是字节数组形式存储。最大空间不能超过512MB。SET key value功能添加或修改已经存在的 String 类型的键值对。GET key功能获取指定 key 的值。如果 key 不存在返回nil。MSET key value [key value ...]功能批量添加多个 String 类型的键值对。MGET key [key ...]功能批量获取多个 String 类型的 key 的值。INCR key功能将 key 中储存的数字值增一。如果 key 不存在那么 key 的值会先被初始化为 0 然后再执行 INCR 操作。常用于计数器。SETNX key value功能只有在 key 不存在时才设置 key 的值Set if Not eXists。常用于实现分布式锁。3.1 key的层级结构Redis的key允许有多个单词形成层级结构多个单词之间用 : 隔开格式如下:项目名:业务名:类型:id这个格式并非固定也可以根据自己的需求来删除或添加词条。例如我们的项目名称叫heima有user和product两种不同类型的数据我们可以这样定义keyuser相关的key——heima:user:1product相关的key——heima:product:1如果Value是一个Java对象例如一个User对象则可以将对象序列化为JSON字符串后存储使用 : 分级后在可视化窗口中可以看到明显的层级结构。四、Hash类型Hash 是一个键值对集合特别适合用于存储对象类似于 Java 中的 MapString, String。我们首先看String结构将对象序列化后的存储形式这种形式对于修改对象中的指定的字段时很不方便Hash结构可以将对象中的每个字段独立存储可以针对单个字段做CURDHSET key field value [field value ...]功能为指定 Hash 类型 key 中的字段field赋值。在较新的 Redis 版本中HSET 已经支持一次性设置多个 field-value。HGET key field功能获取指定 Hash 类型 key 中给定字段的值。HMGET key field [field ...]功能批量获取指定 Hash 类型 key 中多个字段的值。HGETALL key功能获取指定 Hash 类型 key 中所有的字段和值。HDEL key field [field ...]功能删除指定 Hash 类型 key 中的一个或多个字段。HKEYS key/HVALS key功能分别获取 Hash 表中的所有字段名fields或所有值values。五、List类型List 是一个简单的字符串列表按照插入顺序排序。底层实际上是一个双向链表对两端的操作性能极高但通过索引访问中间元素的性能较差。LPUSH key element [element ...]功能将一个或多个元素插入到列表的表头左侧。RPUSH key element [element ...]功能将一个或多个元素插入到列表的表尾右侧。LPOP key功能移除并返回列表的第一个元素左侧弹出。RPOP key功能移除并返回列表的最后一个元素右侧弹出。LRANGE key start stop功能返回列表中指定区间内的元素。0表示第一个元素-1表示最后一个元素。例如LRANGE key 0 -1会返回列表中的所有元素。执行PUSH操作六、Set类型Set 是 String 类型的无序集合。集合成员是唯一的这就意味着集合中不能出现重复的数据。常用于交集、并集、差集等操作。SADD key member [member ...]功能向集合添加一个或多个成员已经存在的成员将被忽略。SREM key member [member ...]功能移除集合中的一个或多个成员。SMEMBERS key功能返回集合中的所有成员。SISMEMBER key member功能判断 member 元素是否是集合 key 的成员。SINTER key [key ...]/SUNION/SDIFF功能分别计算并返回多个集合的交集SINTER、并集SUNION和差集SDIFF。常用于共同关注、好友推荐等功能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2630711.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!