Redis是一款高性能的键值存储系统,常用于缓存、数据库和消息中间件等场景。它支持丰富的数据结构,包括字符串(String)、列表(List)、集合(Set)、哈希(Hash)和有序集合(Sorted Set)等,以及位图(Bitmaps)和HyperLogLog等新类型。以下是关于Redis学习笔记的详细内容: 1. **Redis概述和安装** Redis是一个开源的内存数据结构存储系统,可以作为数据库、缓存和消息代理使用。它支持多种数据结构,且性能极高。Redis的安装通常涉及下载源码、编译、配置和启动服务。 2. **Redis大数据类型** - **字符串(String)**:基础数据类型,可以存储任意字符串,支持简单的数学运算如原子递增和递减。 - **列表(List)**:类似于双向链表,可以进行两端插入和删除,适用于实现消息队列。 - **集合(Set)**:无序不重复元素集合,支持集合运算如交集、并集和差集。 - **哈希(Hash)**:键值对的集合,适合存储对象。 - **有序集合(Sorted Set)**:与集合类似,但每个元素都有一个分数,按分数排序。 3. **字符串(String)命令** - `set`:设置键值对。 - `get`:获取键对应的值。 - `append`:在已有值后面追加内容。 - `strlen`:获取值的长度。 - `setnx`:如果键不存在则设置键值对。 - `incr/decr`:原子递增/递减1。 - `incrby/decrby`:原子递增/递减指定数值。 - `mset/mget`:批量设置/获取多个键值对。 - `setex`:设置键值对并指定过期时间。 - `getset`:以新值替换旧值并返回旧值。 4. **列表(List)命令** - `lpush/rpush`:向列表头部/尾部添加元素。 - `lrange`:获取列表指定范围内的元素。 - `lpop/rpop`:从头部/尾部弹出元素。 - `rpoplpush`:从一个列表弹出元素并插入到另一个列表的尾部。 - `lindex`:获取指定索引的元素。 - `llen`:获取列表长度。 - `linsert`:在特定元素前后插入元素。 - `lrem`:删除指定数量的元素。 - `lset`:替换指定索引的元素。 5. **集合(Set)命令** - `sadd`:向集合中添加元素。 - `smembers`:获取集合所有元素。 - `sismember`:判断元素是否在集合中。 - `scard`:返回集合元素个数。 - `srem`:删除多个元素。 - `spop`:随机弹出元素。 - `srandmember`:随机获取元素,不删除。 - `smove`:在两个集合间移动元素。 - `sinter/sinterstore`:取交集并可存储结果。 - `sunion/sunionstore`:取并集并可存储结果。 - `sdiff/sdiffstore`:取差集并可存储结果。 6. **哈希(Hash)命令** - `hset`:设置多个字段值。 - `hget`:获取指定字段的值。 - `hgetall`:获取所有字段和值。 - `hexists`:检查字段是否存在。 - `hkeys`:获取所有字段。 - `hvals`:获取所有值。 - `hlen`:返回字段数量。 - `hincrby`:字段值增加指定数值。 - `hsetnx`:如果字段不存在,则设置字段值。 7. **有序集合(Sorted Set)命令** - `zadd`:添加元素,并指定分数。 - `zrange/zrevrange`:按分数升序/降序获取指定范围元素。 - `zrangebyscore/zrevrangebyscore`:按分数范围获取元素。 - `zincrby`:增加指定元素的分数。 - `zrem`:删除多个元素。 - `zremrangebyrank`:根据索引范围删除元素。 - `zremrangebyscore`:根据分数范围删除元素。 - `zcount`:统计指定分数范围内元素数量。 - `zrank/zrevrank`:返回元素在集合中的排名。 - `zscore`:获取元素的分数。 8. **Redis的发布和订阅(Publish & Subscribe)** - 发布和订阅是Redis的消息通信模型,允许客户端订阅特定频道以接收服务器发布的消息。 - `subscribe`:客户端订阅一个或多个频道。 - `publish`:服务器向指定频道发布消息。 - `psubscribe`:客户端订阅匹配模式的频道。 9. **新数据类型** - **Bitmaps**:位操作字符串,用于高效存储和处理二进制数据,例如用于记录用户在线状态。 - **HyperLogLog**:用于基数估算,高效计算不同元素的数量,不存储每个唯一元素,适用于统计不重复用户数等场景。 这些只是Redis基础功能的一部分,还有更多高级特性如持久化、事务、主从复制、哨兵(Sentinel)系统和Cluster集群等。深入理解并掌握这些知识点,能够帮助开发者充分利用Redis的优势来优化应用程序。
剩余113页未读,继续阅读
- 粉丝: 223
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术册投标文件的的查重
- 通信原理(第七版 樊昌信 曹丽娜)思维导图
- genad-hGridSample-test.hbm
- cvtocc-shanghai.hbm
- k8s安装ingress-nginx
- dnSpy-net-win32-222.zip
- mongoose-free-6.9
- 德普微一级代理 DP100N06MGL PDFN3.3*3.3 TRMOS N-MOSFET 60V, 8mΩ, 45A
- 【java毕业设计】SpringBoot+Vue幼儿园管理系统 源码+sql脚本+论文 完整版
- 德普微一级代理 DP021N03FGLI DFN5*6 DPMOS N-MOSFET 30V 180A 1.8mΩ