Redis基础操作与数据结构详解

需积分: 9 1 下载量 114 浏览量 更新于2024-09-14 收藏 3KB TXT 举报
Redis 是一个开源的、高性能的键值存储系统,被广泛应用于缓存、消息队列、排行榜等功能场景。本文档记录了作者学习 Redis 的一些常用操作和方法,旨在提供一个基础的学习资料。 1. **字符串类型**: - `set`:用于存储唯一的字符串,如 `setname=sunjiafu`,设置并检查键名是否存在。 - `setnx` 和 `setrange`:`setnx` 用于原子性创建新键,如果键已存在则不执行;`setrange` 可用于修改字符串部分值,如 `setrangename3jiayu`。 2. **集合类型**: - `mset` 和 `msetnx`:同时设置多个键值对,`msetnx` 与 `setnx` 类似,只有在所有键不存在时才设置。 - `getset`:获取并设置键的值,例如 `getset` 可以更新键的值并返回旧值。 - `sadd` 和 `smembers`:分别用于添加元素到集合和查询集合元素,如 `saddmyset'hello'` 会向集合中添加元素。 3. **哈希类型(字典)**: - `hset` 和 `hget`:用于存储键值对,键为字符串,值为任意类型,如 `hsetuser:001namesunjiafu`。 - `hgetall`:获取整个哈希表的键值对。 - `hsetnx`, `hmset`, `hmget`:哈希表的原子性设置和获取多个键值对。 4. **列表类型**: - `lpush` 和 `rpush`:在列表头部或尾部添加元素,如 `lpush` 向列表左侧添加。 - `lrange` 和 `ltrim`:分别用于获取列表的部分元素和修剪列表长度。 - `lpop` 和 `rpop`:移除并返回列表头部或尾部的元素。 - `linsert`:在列表中插入元素。 5. **有序集合(Sorted Set)**: - `zadd`:用于添加成员到有序集合,附带分数。 - `zrange`:获取有序集合成员范围。 - `zscore` 和 `zrank`:获取成员的分数和排名。 - `zsort` 和 `zrangebyscore`:排序有序集合。 6. **其他命令**: - `incr` 和 `decr`:递增或递减整数值,如果不存在则默认为0。 - `strlen` 和 `hlen`:分别计算字符串长度和列表长度。 - `hdel`, `hkeys`, `hvals`, `hgetall`:哈希表的操作,如删除键、获取键名或值。 - `lrem`:根据模式移除列表中的元素。 - `srem` 和 `spop`:从集合中移除元素。 - `sinter`, `sdiff`, `sunion`:集合的交集、差集和并集操作。 - `smove`:移动集合中的元素到另一个集合。 - `scard` 和 `sismember`:统计集合元素个数和判断成员存在。 - `zsort` 和 `zrangebyscore`:对有序集合进行排序。 这些笔记概述了 Redis 中的基本数据结构和操作,适合初学者入门和快速回顾。通过实践和深入理解这些核心功能,可以更好地利用 Redis 提升应用性能和数据管理效率。