`

Redis笔记(四):基础笔记

阅读更多

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笔记.rar"包含的"redis笔记.pdf"应该是一份详细的学习指南,非常适合初学者了解和掌握Redis的基本概念、操作命令以及实战技巧。 1. Redis基本概念: - Redis是一个开源的、基于内存的数据存储系统,支持...

    狂神说Redis笔记.pdf

    《狂神说Redis笔记》是针对Redis这一高性能的键值数据库进行深入讲解的资料,它涵盖了Redis的基础概念、核心功能以及在实际应用中的各种策略。Redis作为一款内存数据存储系统,广泛应用于缓存、消息队列、分布式锁等...

    Redis笔记-尚硅谷周阳V1.3-脑图

    根据《Redis笔记-尚硅谷周阳V1.3》整理,脑图、思维导图xmind

    狂神说-Redis笔记(完整版).md

    狂神说-Redis笔记(完整版).md

    typora:redis笔记

    标题中的“typora:redis笔记”指的是使用Typora这款轻量级 Markdown 编辑器编写的Redis学习笔记。Typora提供了一个简洁的界面,使得阅读和编写Markdown格式的文档变得轻松愉快。通过Typora来整理Redis的学习内容,...

    狂神说Redis笔记.md

    狂神说Redis笔记.md

    尚硅谷周阳Redis笔记

    以上就是关于"尚硅谷周阳Redis笔记"的一些主要知识点,包括Redis的基本概念、数据类型、持久化、事务、复制、发布订阅、布隆过滤器、HyperLogLog以及GEO定位等功能的介绍。这个笔记资源对于学习和理解Redis的使用...

    python操作redis笔记

    python操作redis笔记,: 1. NoSQL简介 2. Redis简介 3. Redis安装 4. Redis数据类型 5. Redis持久化

    狂神说-Redis完整版笔记

    【Redis完整版笔记】深入解析Redis作为NoSQL数据库的关键特性 Redis是一款高性能的Key-Value内存数据库,广泛应用于缓存、消息队列、计数器等多个场景。在NoSQL数据库的大潮中,Redis以其出色的速度和灵活性...

    狂神说redis笔记

    在《狂神说Redis笔记》中,我们可以了解到Redis的各个方面,包括其入门基础、高级特性、配置详解、持久化机制、事务操作、订阅发布机制、主从复制、安装指南、哨兵模式以及与Java的集成等。同时,笔记还探讨了为什么...

    redis笔记+资料

    这份“redis笔记+资料”提供了全面的学习资源,非常适合初学者掌握 Redis 的基础知识和常见用法。 Redis 的主要特点包括: 1. **内存存储**:Redis 将所有数据存储在内存中,读写速度极快,但这也意味着它不适合...

    尚硅谷Redis文档笔记

    尚硅谷Redis文档笔记

    redis笔记.docx

    ### Redis 知识点概述 #### 一、Redis 概述 Redis 是一款采用 C 语言编写的开源...以上步骤覆盖了 Redis 的基础知识、分类、应用场景以及安装过程等核心知识点,有助于理解 Redis 的工作原理及其在实际项目中的应用。

    狂神说Redis笔记.rar

    在本笔记中,我们将深入探讨Redis的关键特性、安装配置、数据类型、命令操作以及实际应用。 一、Redis概述 Redis起源于意大利,由Salvatore Sanfilippo创建,其全称为Remote Dictionary Server,即远程字典服务。...

    Redis笔记.zip

    Redis笔记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笔记.doc

    Redis 是一个开源的、基于 BSD 许可的高级键值存储系统,它被广泛地称为数据结构服务器。Redis 的独特之处在于它不仅提供简单的键值对存储,而且键可以包含多种数据结构,如字符串、哈希、列表、集合和有序集合。这...

    Redis面试宝典:面试官心中的Redis大法

    ### Redis面试宝典:面试官心中的Redis大法 Redis是一款基于内存的开源键值数据库,因其卓越的性能表现和灵活性而被广泛应用于多种场景中,如缓存、消息队列、实时数据分析等。为了帮助求职者更好地准备Redis相关的...

Global site tag (gtag.js) - Google Analytics