1,KEYS pattern,获得符合规则的键名列表
glob风格的通配符规则:
? 匹配一个字符
* 匹配任意个包括0个字符
[]匹配任一个字符,可以使用-表示一个范围
\x 匹配x,用于转义字符
KYES命令需要遍历redis中所有键,当键数量较多时会影响性能,因此不建议在生产中使用
2,redis的键名最佳命名规则:
对象类型:对象ID:对象属性,比如user:6:friends来存储ID为1的用户的好友列表
对于多个单词则推荐使用.分隔符,另外可读性也非常重要,不要省这么一点点空间。
3,生成自增ID:
RDBS中科院使用AUTO_INCREMENT来实习自增ID主键,redis中可以对每一类对象使用名为users:count的键来存储当前类型的对象的数量,每次增加一个新对象都使用INCR原子命令获取该新对象的ID值即可。
4,散列类型hash
适合用来存储对象,使用对象类别和ID构成键名,使用字段表示对象的属性,而字段值存储属性值。
一般来讲存储对象可以用json序列化的字符串,可以用hash,如果是需要频繁的获取或者更新对象的某些属性,为了防止传输开销和序列化开销,最好使用hash。
散列类型还有一个好处,就是对于同一类对象,每个对象的属性可以不一样,这在关系型数据库中不可能
# 增加数字
HINCRBY key field increment
# 只获取字段名或字段值
HKEYS key / HVALS key / HLEN key
5,集合类型Set
# 获取Set中元素个数
SCARD key
# 获取Set中所有元素
SMEMBERS key
# 进行集合运算并将结果存储
SDIFFSTORE dest key1 key2
SINTERSTORE dest key1 key2
SUNIONSTORE dest key1 key2
# 随机获取Set中元素
SRANDMEMBER key count
count 为正数的时候随机获取count个不重复元素,为负数时候随机获取|count|个可能重复元素
6,有序集合SortedSet类型
List和SortedSet的应用场景区别:
1) List类型是通过LinkedList实现的,获取靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会较慢,所以它更适合实现如 新鲜事 日志 这样很少访问中间元素的应用。
2) SortedSet类型使用散列表和跳跃表SkipList实现,所以即使读取位于中间的部分的元素速度很非常快,时间复杂度是O(log(N)),不过比Hash慢,Hash是O(1)
3) List中不能简单调整某个元素的位置,但是有序集合可以(通过更改元素的score)
4) SortedSet比List更耗内存(PS:这不废话吗,没有免费午餐)
SortedSet可以说是redis中最高级的数据结构了,吊爆了~
# ZRANGE key start end [WITHSCORES]
按照元素score分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端元素,索引从0开始)
# ZRANGEBYSCORE key min max [WITHSCORES] LIMIT offset count
如果希望分数范围不包括端点值,可在分数前加上(符号。
ZRANGEBYSCORE scoreboard (80 +inf
后面的offset和count跟mysql中的含义一样,一个是偏移量,一个是数量
# ZREVRANGEBYSCORE scoreboard 100 0 LIMIT 0 3
注意上面的min和max是跟前面的ZRANGEBYSCORE是相反的
博客新地址:http://yidao620c.github.io
相关推荐
这份"redis笔记.rar"包含的"redis笔记.pdf"应该是一份详细的学习指南,非常适合初学者了解和掌握Redis的基本概念、操作命令以及实战技巧。 1. Redis基本概念: - Redis是一个开源的、基于内存的数据存储系统,支持...
《狂神说Redis笔记》是针对Redis这一高性能的键值数据库进行深入讲解的资料,它涵盖了Redis的基础概念、核心功能以及在实际应用中的各种策略。Redis作为一款内存数据存储系统,广泛应用于缓存、消息队列、分布式锁等...
根据《Redis笔记-尚硅谷周阳V1.3》整理,脑图、思维导图xmind
狂神说-Redis笔记(完整版).md
标题中的“typora:redis笔记”指的是使用Typora这款轻量级 Markdown 编辑器编写的Redis学习笔记。Typora提供了一个简洁的界面,使得阅读和编写Markdown格式的文档变得轻松愉快。通过Typora来整理Redis的学习内容,...
狂神说Redis笔记.md
以上就是关于"尚硅谷周阳Redis笔记"的一些主要知识点,包括Redis的基本概念、数据类型、持久化、事务、复制、发布订阅、布隆过滤器、HyperLogLog以及GEO定位等功能的介绍。这个笔记资源对于学习和理解Redis的使用...
python操作redis笔记,: 1. NoSQL简介 2. Redis简介 3. Redis安装 4. Redis数据类型 5. Redis持久化
【Redis完整版笔记】深入解析Redis作为NoSQL数据库的关键特性 Redis是一款高性能的Key-Value内存数据库,广泛应用于缓存、消息队列、计数器等多个场景。在NoSQL数据库的大潮中,Redis以其出色的速度和灵活性...
在《狂神说Redis笔记》中,我们可以了解到Redis的各个方面,包括其入门基础、高级特性、配置详解、持久化机制、事务操作、订阅发布机制、主从复制、安装指南、哨兵模式以及与Java的集成等。同时,笔记还探讨了为什么...
这份“redis笔记+资料”提供了全面的学习资源,非常适合初学者掌握 Redis 的基础知识和常见用法。 Redis 的主要特点包括: 1. **内存存储**:Redis 将所有数据存储在内存中,读写速度极快,但这也意味着它不适合...
尚硅谷Redis文档笔记
### Redis 知识点概述 #### 一、Redis 概述 Redis 是一款采用 C 语言编写的开源...以上步骤覆盖了 Redis 的基础知识、分类、应用场景以及安装过程等核心知识点,有助于理解 Redis 的工作原理及其在实际项目中的应用。
在本笔记中,我们将深入探讨Redis的关键特性、安装配置、数据类型、命令操作以及实际应用。 一、Redis概述 Redis起源于意大利,由Salvatore Sanfilippo创建,其全称为Remote Dictionary Server,即远程字典服务。...
Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记Redis笔记...
### 超详细的Redis学习笔记知识点汇总 #### 1. Redis 的启动与停止 ##### 1.1 直接启动 Redis 服务 - **默认端口启动**:使用 `$ redis-server` 命令,默认监听端口为 `6379`。 - **指定端口启动**:使用 `$ ...
Redis 是一个开源的、基于 BSD 许可的高级键值存储系统,它被广泛地称为数据结构服务器。Redis 的独特之处在于它不仅提供简单的键值对存储,而且键可以包含多种数据结构,如字符串、哈希、列表、集合和有序集合。这...
### Redis面试宝典:面试官心中的Redis大法 Redis是一款基于内存的开源键值数据库,因其卓越的性能表现和灵活性而被广泛应用于多种场景中,如缓存、消息队列、实时数据分析等。为了帮助求职者更好地准备Redis相关的...