Redis简单了解

20行代码实现本地RAG智能体:Phi-Data轻量部署实战 RAG(检索增强生成)是一种将外部知识库与大语言模型动态结合的关键技术,其核心原理是通过嵌入向量检索相关文档片段,再将其注入提示词引导模型生成精准回答。该技术显著提升模型事实准确性、降低幻觉,并支持私有数据闭环处理,广泛应用于企业知识管理、合规问答与个人数字助手等场景。本文聚焦轻量级、可落地的本地RAG实现路径,基于专为RAG优化的Phi-Data模型与sentence-transformers嵌入方案,以极简20行Python代码构建端到端推理流程,全程离线运行、零网络依赖、低硬件门槛,兼顾工程简洁性与业 阅读详情

Redis简介

Redis是REmote DIctionary Server(远程字典服务器)缩写。

以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。

支持的键值数据类型有:字符串类型string、散列类型hash、列表类型list、集合类型set、有序集合类型zset。

内存存储与持久化

Redis可以为每个健设置生存时间(Time To Live,TTL),生存时间到期后会被自动删除。可以作为缓存系统使用。

在性能上Redis是单线程模式,而Memcached支持多线程,所以在多核服务器上后者性能更高一些。

Redis是使用C语言开发的。


Redis多数据库

一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。

每个字典类似于一个独立的数据库。每个字典对外以一个从0开始的递增数字命名,默认支持16个,不支持自定义数据库名字。

一般不同应用的数据应该使用不同的Redis实例存储。


Redis不区分命令大小写

Redis提供的所有命令都是原子操作(atomic operation)。

Redis对于键的命名并没有强制要求,较好的实践用“对象类型:对象ID:对象属性”来命名一个键,如使用键 user:1:friends来存储ID为1的用户的好友列表。

Redis各个数据类型都不支持数据类型的嵌套。

—————————————————————————————————————

Redis安装

Redis约定版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.4、2.6),奇数版本是非稳定版(如2.5、2.7)。

下载安装:

wget http://download.redis.io/redis-stable.tar.gz

tar xzf redis-stable.tar.gz

cd redis-stable

make

Redis没有其他外部依赖。


Redis运行

启动Redis:1.直接启动(命令:redis-server);2.通过初始化脚本启动;

停止Redis:redis-cli SHUTDOWN (kill命令效果与发送SHUTDOWN命令一样)


Redis命令行客户端

redis-cli (Redis Command Line Interface)是Redis自带的基于命令行的Redis客户端。


Redis配置

Redis提供了一个配置模板 redis.conf,位于源代码目录的根目录下。

—————————————————————————————————————

Redis的数据结构

字符串类型

简介:可以存储任何形式的字符串,一个字符串类型键允许存储的数据的最大容量是512MB。

命令:SET key value / GET key


散列类型

简介:散列类型适合存储对象,使用对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。

命令:HSET key field value / HGET key field  ( HMSET key field value [fielld value ...]  / HMGET key field [field ...])


列表类型

简介:列表类型可以存储一个有序的字符串列表,常用的操作是向列表的两端添加元素,或者获得列表的某一个片段。列表类型内部是使用双向链表实现的,向两端添加删除元素较快,但通过索引访问元素较慢。

命令:LPUSH key value [value ...] / RPUSH key value [value ...] / LPOP key / RPOP key / LRANGE key start stop


集合类型

简介:集合中每个元素都是不同的,且没有顺序。常用操作是向集合中加入或删除元素、判断某个元素是否存在等,集合类型在Redis内部是使用值为空的散列表实现的,所以这些操作较快。集合类型键之间还可以进行并集、交集和差集运算。

命令:SADD key member [member ...] / SREM key member [member ...] / SDIFF key [key ...] / SINTER key [key ...] / SUNION key [key ...] 


有序集合类型

简介:在集合类型的基础上有序集合类型为集合中的每一个元素都关联了一个分数,按照这个分数对每个元素进行排序。我们进行获得分数最高(或最低)的前N个元素、获得指定分数范围内的元素等于分数有关的操作。虽然集合中每个元素都是不同的,但是他们的分数却可以相同。有序集合可以调整某个元素的为止,通过更改该元素的分数。

命令:ZADD key score member [score member ...] / ZSCORE key member / ZRANGE key start stop [WITHSCORES] / ZREVRANGE key start stop [WITHSCORES] 

—————————————————————————————————————

Redis的事务:

Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis的最小执行单元,一个事务中的命令要么都执行,要么都不执行。

事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次执行这些命令。

事务示例:

redis> MULTI

OK

redis> SADD "user:1:following" 2

QUEUED

redis> SADD "user:2:followers" 1

QUEUED

redis> EXEC

1) (integer) 1

2) (integer) 1

上面的代码演示了事务使用方式。

首先MULTI命令告诉Redis,下面的命令属于一个事务,先缓存不执行;

Redis回答OK;

发送两个SADD命令,Redis没有执行命令,而是放入等待队列QUEUED;

要执行的命令发送完毕后,发送EXEC命令告诉Redis可以执行了;

Redis将等待执行的命令按照发送顺序执行,并依次返回执行结果。


故障处理:

如果在发送EXEC命令前客户端断线,则Redis会清空事务队列,所有命令都不执行;但如果已经发送了EXEC命令后客户端断线,则Redis会执行所有命令的。

Redis的事务还能保证一个事务内的命令依次执行而不被其他命令插入。

如果一个事务中的某个命令执行出错,Redis会如何处理?

当在命令执行前出现错误,如语法错误,Redis会直接返回错误,所有命令都不执行;

当在命令执行中出现错误,如执行某个命令时运行时错误,由于执行前无法发现,Redis会接收并执行,所有命令都会执行。

Redis的事务没有关系数据库事务提供的回滚(rollback)功能。


WATCH命令

我们已经知道在一个事务中只有当所有命令都依次执行完后才能得到每个结果的返回值,可是有些情况下需要先获得一条命令的返回值,然后再根据这个值执行下一个命令。

上面的情况在使用事务来实现时会产生竞态条件。事务家族的另一个成员WATCH,该命令可以监控一个或多个键,一旦其中一个键被修改(或删除),之后的事务就不会执行了。监控一直持续到EXEC命令(事务中的命令是在EXEC之后才执行的,所以MULTI命令后可以修改WATCH监控的键值)。

由于WATCH命令的作用只是当被监控的键值被修改后阻止之后一个事务的执行,而不能保证其他客户端不修改这一键值,所以我们需要在EXEC执行失败后重新执行整个函数。


生存时间

有时效的数据,比如限时优惠活动、缓存或验证码等,过了一定的时间就需要删除这些数据。

Redis可以使用EXPIRE命令设置一个键的生存时间,到时候后Redis会自动删除它。默认不设置时间的为永久存在。

命令:EXPIRE key seconds   //上述命令标识key键在seconds秒后会被删除,


实现访问频率的限制:例如要限制每个用户每分钟最多能访问100次。

思路:每个用户存储“rate.limiting:用户ip”字符串类型键,用户每次访问则递增,第一次访问时要设置该键的生存时间为1分钟。每次用户访问都读取键值,判断超过100则限制。该键每分钟会自动删除,用户下一分钟可以重新计算限制值。


实现缓存:为了提高网站的负载能力,常常需要将一些访问频率较高但是对CPU或IO资源消耗较大的操作的结果缓存起来,并希望让这些缓存过一段时间自动过期。

可以通过给键设置生存时间的方式来实现。每次访问先查询缓存,有则返回缓存值,没有则重新计算并放缓存并同时设置缓存生存时间。

但是服务器的内存是有限的,Redis能使用的内存也是有限的。缓存键的生存时间设置的过长会导致Redis占满内存,设置过短会导致缓存命中率过低。实际开发中会发现很难为缓存键设置合理的生存时间,为此可以限制Redis能够使用的最大内存,并让Redis按照一定的规则淘汰不需要的缓存键,这种方式在只将Redis用作缓存系统时非常实用。

—————————————————————————————————————

Redis的排序

SORT命令:

SORT命令可以对列表类型、集合类型和有序集合类型键进行排序,并且可以完成与关系数据库中的连接查询相类似的任务。

除了可以排列数字外,SORT命令还可以通过ALPHA参数实现按照字典顺序排列非数字元素。

SORT命令默认是按照从小到大的顺序排列,如果想从大到小的顺序排列,需要使用DESC参数。

SORT命令实现分页:通过支持LIMIT参数来返回指定范围的结果。用法和SQL语句一样,LIMIT offset count,表示跳过前offset个元素并获取之后的count个元素。


BY参数:

一般存储数据时都以对象的ID为标识,但更多的时候我们希望根据ID对应的对象的某个属性进行排序。

BY参数的语法为“BY参考键”。参考键可以是字符串类型的键或者是散列类型键的某个字段(表示为键名->字段名)。

如果提供了BY参数,SORT命令将不再依据元素自身的值进行排序,而是对每个元素使用元素的值替换参考键中的第一个“*”并获取其值,然后依据该值对元素排序。

例如:SORT tag:ruby:posts BY post:*->time DESC


GET参数:

GET参数不影响排序,它的作用是使SORT命令的返回结果不再是元素自身的值,而是GET参数中指定的键值。

例如:SORT tag:ruby:posts BY post:*->time DESC GET post:*->title


STORE参数:

SORT命令会直接返回排序结果,如果希望保持排序结果,可以使用STORE参数。STORE参数常用来结合EXPIRE命令缓存排序结果。示例伪代码:

#判断是否存在之前排序结果的缓存

$isCacheExists = EXISTS cache.sort

if $isCacheExists is 1

#如果存在则直接返回

return LRANGE cache.sort,  0, -1

else

#如果不存在,则使用SORT命令排序并将结果存入cache.sort键中作为缓存

$sortResult = SORT some.list STORE cache.sort

#设置缓存的生存时间为10分钟

EXPIRE cache.sort, 600

#返回排序结果

return $sortResult

—————————————————————————————————————

消息通知


任务队列:即传递任务的队列,可以借助任务队列实现通知的过程。

任务队列的好处:松耦合,生产者和消费者无需知道彼此的实现细节;易于扩展消费者,可以有多个并可以分布在不同的服务器中。

Redis实现任务队列:使用Redis的列表类型,以及其LPUSH和RPOP命令实现队列的概念。BRPOP和BLPOP还实现了没有元素则阻塞机制。


优先级队列:优先消费紧急的消息。

可通过使用BRPOP命令实现,BRPOP可以同时接收多个键,格式如:BRPOP key [key ...]

意义是同时检测多个键,如果所有键都没有元素则阻塞,如果其中有一个键有元素则会从该键中弹出元素。如果多个键都有元素则按照从左到右的顺序取第一个键中的一个元素。

如此一来将需要优先处理的消息的键放消费顺序的前面,这样不管后面有没有元素,挤压了多少,只要前面的有元素则会优先处理。


发布/订阅模式:分两种角色,分别是发布者和订阅者。订阅者可以订阅一个或若干个频道(channel),而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都会收到此消息。

命令:PUBLISH channel message  /  SUBSCRIBE channel [channel ...]

按照规则订阅:使用PSUBSCRIBE命令订阅指定的规则。规则支持glob风格通配符格式。如:PSUBSCRIBE channel.?*

—————————————————————————————————————

Redis的管道

客户端和Redis使用TCP协议连接。不论是客户端向Redis发送命令还是Redis向客户端返回命令的执行结果,都需要经过网络传输,这两部分的总耗时称为往返时延。在执行多个命令时每条命令都需要等待上一条命令执行完才能执行,即使命令不需要上一条命令的执行结果。

Redis的底层通信协议对管道(pipelining)提供了支持。通过管道可以一次性发送多条命令并在执行完后一次性将结果返回,当一组命令中每条命令都不依赖于之前命令的执行结果时就可以将这组命令一起通过管道发出。管道通过减少客户端与Redis的通信次数来实现降低往返时延累计值得目的。

—————————————————————————————————————

优化Redis的存储空间

Redis是一个基于内存的数据库,所有的数据都存储在内存中,所以优化存储、减少内存空间占用对成本控制来说非常重要。

1.精简键名和键值;

2.内部编码优化:Redis为每种数据类型提供了两种内部编码方式,并且Redis会根据实际情况自动调整。

数据类型内部编码方式OBJECT ENCODING命令结果

字符串类型REDIS_ENCODING_RAWraw

REDIS_ENCODING_INTint

散列类型REDIS_ENCODING_HThashtable

REDIS_ENCODING_ZIPLISTziplist

列表类型REDIS_ENCODING_LINKEDLISTlinkedlist

REDIS_ENCODING_ZIPLISTziplist

集合类型REDIS_ENCODING_HThashtable

REDIS_ENCODING_INTSETintset

有序集合类型REDIS_ENCODING_SKIPLISTskiplist

REDIS_ENCODING_ZIPLISTziplist

共享对象:Redis启动后会预先建立10000个分别存储从0到9999这些数字的redisObject类型变量作为共享对象,如果要设置的字符串键值在这10000个数字内(如 SET key1 123)则可以直接引用共享对象而不用再建立redisObject了。由此可见,使用字符串类型键存储对象ID这样小数字是非常节省存储空间的,Redis只需存储键名和一个对共享对象的引用即可。

REDIS_ENCODING_ZIPLIST编码类型是一种紧凑的编码格式,它牺牲了部分读取性能以换取极高的空间利用率,适合在元素较少时使用。

—————————————————————————————————————

脚本

Redis在2.6版推出了脚本功能,允许开发者使用Lua语音编写脚本传到Redis中执行,脚本中可以调用大部分的Redis命令。使用脚本的好处如下:

1.减少网络开销;多个命令可以放到脚本中发送一个请求即可,减少网络往返时延。

2.原子操作;整个脚本将作为一个整体执行,中间不会被其他命令插入。

3.复用;脚本会永久存储在Redis中,其他客户端也可以复用。

Lua是一个高效的轻量级脚本语言。Lua在葡萄牙语种是“月亮”的意思,它的徽标形似卫星,寓意着Lua是一个“卫星语音”,能够方便的嵌入到其他语言中使用。

—————————————————————————————————————

持久化:通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。

RDB方式;

AOF方式(Append Only File);

—————————————————————————————————————

复制:

如果数据存储在一台服务器上,当硬盘出现故障时,也会导致数据丢失。

为了避免单点故障,Redis提供了复制功能可以自动实现同步的功能,将数据库复制多个副本以部署在不同的服务器上。

通过复制可以实现读写分离以提高服务器的负载能力。


Redis数据库分两类:主数据库、从数据库;

主数据库可以进行读写操作,当发生写操作时自动将数据同步给从数据库;

从数据库一般是只读的,并接收主数据库同步过来的数据。


在Redis中使用复制功能非常简单,只需在从数据库的配置文件中加入“slaveof 主数据库IP 主数据库端口”即可,主数据库无需进行任何配置。

除了使用配置文件设置slaveof参数,还可以在运行时使用SLAVEOF命令修改。


Redis的复制原理:

当一个从数据库启动后,会向主数据库发送SYNC命令,主数据库接收到SYNC命令后会开始在后台保存快照(即RDB持久化的过程),并将保存期间接收到的命令缓存起来。当快照完成后,Redis会将快照文件和所有缓存的命令发送给从数据库。从数据库收到后,会载入快照文件并执行收到的缓存的命令。当主从数据库断开重连后会重新执行上述操作,不支持断点续传。


从数据库不仅可以接收主数据库的同步数据,自己也可以同时作为主数据库存在。

例如:A有B和C两个从,B有D和E两个从;当向B写数据时只能同步到D和E,不能同步到A或C。


持久化操作非常耗时,为了提高性能,可以通过复制功能建立一个(或若干个)从数据库,并在从数据库中启用持久化,同时在主数据库禁用持久化。

当从数据库崩溃时重启后主数据库会自动将数据同步过来,所以无需担心数据丢失。

当主数据库崩溃时,需要在从数据库中使用SLAVEOF NO ONE命令将从数据库提升成主数据库继续服务,并在原来的主数据库启动后使用SLAVEOF命令将其设置成新的主数据库的从数据库,即可将数据同步回来。

—————————————————————————————————————

耗时命令日志:

当一条命令执行时间超过限制时,Redis会将该命令的执行时间等信息加入耗时命令日志(slow log)以供开发查看。

可以通过配置文件的slowlog-log-slower-than参数设置这一限制,单位是微妙(1000000微秒=1秒),默认值是10000。

耗时命令日志存储在内存中,可以通过配置文件的slowlog-max-len参数来限制记录的条数。


写最好的最新稳定版Redis7(redis-7.0.5)在云服务器Centos7安装部署教程(参考官方文档) 本教程参考官方文档,在云服务器Centos7上安装部署最新稳定版Redis-7.0.5,有些地方有坑,笔者也是一边踩坑一边填坑,教程内容里面会有说明。本文和其它博文不太一样,其它博文可能只“照猫(网络上的博文)画虎”,天下内容一片抄,本文即使是“画虎”,也是按照“猫(官方文档)”的哪些部位去详细地描绘。笔者意在写最好的最新稳定版Redis7安装教程。 阅读详情

相关推荐

VL53L0X测距不准?手把手教你做RefSPAD校准与环境补偿(附Arduino/STM32代码)

本文详细解析了VL53L0X激光测距传感器精度不足的原因,并提供了RefSPAD校准与环境补偿的完整解决方案。通过Arduino和STM32代码示例,手把手教你实现毫米级测距稳定性,适用于机器人避障、工业检测等场景。

weixin_28744423的博客 256

redis+最新版本+linux,编译安装Redis Stable最新版本

目前Redis已经升级到3.0.5为最稳定版本,但很多系统源没有更新,所以在这里进行编译安装适合所有系统#wget#tar xvf redis-stable#cd redis-stable#make#make install安装后我们进行配置#cd utils#./install_server.sh这里会根据需要进行配置,我的配置如下:端口:6379配置路径:/etc/redis/redis.co...

weixin_35657612的博客 926

从零开始:如何用Python建立你的第一个人工智能模型

在这篇文章中,我们将介绍如何从零开始使用Python建立你的第一个人工智能模型。无论你是刚接触编程的新手,还是有经验的开发者想进一步探索人工智能领域,这篇文章都将为你提供清晰、详细的指南。我们将一步步探索数据预处理、模型建立、训练和测试的过程,以及如何解读模型的结果。

Allen1862105的博客 4万+

Redis

转自:http://blog.youkuaiyun.com/lifetragedy/article/details/50628820 原作者写的很好,尊重作者的劳动成果。 进入Redis课程 Redis是什么 Redis是一个NOSQL,NOSQL有许多种,它们分为: 列存储,如:Hbase、Cassandra这种 文档存储,如:MongoDB(首推)key-val

weixin_36630761的博客 642

蜻蜓fm爬虫python

本文介绍了一个用于下载蜻蜓FM音频书籍的Python脚本实现。该脚本主要功能包括:1)通过账号密码登录获取认证信息;2)从目标书籍主页提取版本信息;3)获取书籍节目总数和分页信息;4)生成节目下载链接(使用HMAC-MD5加密算法生成请求签名);5)下载音频文件并保存。脚本采用多种反爬措施:设置User-Agent模拟浏览器行为、使用动态时间戳、HMAC-MD5签名验证等,有效规避简单的反爬机制。整个流程包括登录认证、获取书籍信息、生成下载链接和保存音频文件四个步骤,实现自动化批量下载功能。

野猫炫的博客 910

汽水音乐自动化薅羊毛教程:从零搭建稳定赚钱脚本

📖 前言:为什么要学习自动化脚本?在数字时代,时间就是金钱。汽水音乐等App通过观看广告奖励用户金币的模式,本质上是将我们的时间转化为收益。本教程将教你如何用Python自动化这个过程,让程序为你"打工",实现被动收入。通过本教程,你将学到:移动端自动化测试的核心技术Python在自动化领域的实际应用如何将重复性任务转化为自动化流程创造属于自己的"数字员工"第一章:环境准备与基础配置1.1 硬件要求Android手机一部(建议使用备用机)USB数据线。

weixin_44947827的博客 5770

Redis安装

解压并执行make命令执行安装命令安装完成后,可进入安装目录下的utils文件夹,执行redis-server的安装步骤s。

songzerong的博客 410

基于OpenCV C++实现工业级形状模板匹配:仿Halcon SBM算法全解析

在计算机视觉和工业自动化领域,模板匹配是一项基础且关键的技术,用于在图像中定位已知目标。其核心原理是通过计算图像区域与预设模板之间的相似度来识别目标位置。传统的基于灰度值的匹配方法对光照变化敏感,鲁棒性不足。而基于边缘梯度方向的形状匹配技术,通过计算轮廓梯度方向的一致性进行相似度度量,从根本上提升了对光照变化的鲁棒性,并支持目标的旋转与缩放,技术价值显著。这项技术广泛应用于工业视觉检测、机器人引导、PCB定位等对精度和稳定性要求极高的场景。本文聚焦于使用开源OpenCV库,从底层仿照Halcon的Shape

weixin_33691817的博客 500

Redis简单了解一

Redis 简单来说就是,一个键值对类型的单线程内存数据库。 支持String、List、Set、Sorted Set、hashes数据类型。 数据结构 简单动态字符串(Simple Dynamic String),redis是用C语言写的,但它的简单动态字符串却比C语言的字符串优秀。 redis对象 链表 哈希表 rehash 字典 跳跃表 整数集合...

hustzw07的博客 243

Unity中的坐标系及其转换方法

Unity中的坐标系及其转换方法 Unity中有四种坐标系: 1.全局坐标系 World Coordinate System 全局坐标系是用于描述场景内所有物体位置的方向的基准,也称为世界坐标系,Unity中创建的物体都是以全局坐标系中的坐标原点(0,0,0),来确定各自的位置的,可以使用transform.position来获取游戏对象的世界坐标。 2.局部坐标系 Local Coordinate System 局部坐标系也称为模型坐标系或物体坐标系,每个物体都有自身独立的物体坐标系。当物体移动或改变方向

Z_hongli的博客 8178

加密视频如何破解 如何解除机器码绑定的视频

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 如何破解加密...

Q-980767270的博客 5万+

简单了解Redis

1、先说下Redis的5大基本数据类型 String(字符串) string类型是二进制安全的。意思是redis的string可以包含任何数据。比如图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 Hash(哈希) Redis hash 是一个键值(key→value)对集合。 Redis hash是一个string类型的field和value的...

qq_39486119的博客 11万+

Dify基础:Dify平台的本地化部署(含windows部署中,常见问题及解决方案)

第一种比较简单,只需要在浏览器中,打入https://dify.ai/就可以。这个指令虽然看起来简单,但实际上涉及到对docker的使用。这个项目既然有github地址,那它一般就是开源的。我们点开这个github地址,便能看到dify的私有化部署方式。我们可以看到,还是上面那个图,有个按钮,是指向该项目的Github地址的。第二步:按照dify的github给出的指令,对dify进行安装。第一步:我们把dify下载到自己的电脑(或者服务器)上。这里,我们只考虑第二种方式,也就是私有化部署。

xiezhipu的博客 1万+

Redis的简单了解

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 那么我们为什么要使用redis,redis的读写速度很快,方便扩展,且数据类型多样。1.string string是最常用的数据类型,只需要set 名称 内容即可。 2.list redis中的lists在底层实现上并不是数组,而是链表,插入的速度很快,但是定位比较慢。 3.set set和Java中的set一样,都不能存在重复元素,且元素没有先后顺序,集合相关的操作也很丰富,如添加新元素、删除已有元

天青色 等烟雨的博客 382

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

redis简单了解

redis是什么 redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 redis数据结构 redis是一种高级的key:value存储系统,其中value支持五种数据类型: 1.字符串(strings) 2.字符串列表(lists) 3.字符串集合(sets) 4.有序字符串集合(sorted sets) 5.哈希(hashes) redis持久化 – 两种方式 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(A

weixin_43784341的博客 119

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【redis】Redis简单了解

关系型数据库、非关系型数据库 关系型数据库优势: 可以使用SQL语句进行复杂查询。 事务支持:支持对安全性能要求高的业务。 NoSQL优点: 成本较低:NoSQL数据库部署简单,基本都是开源软件,和关系型数据库相比价格便宜。 查询快:NoSQL数据库是基于键值对的,表中的主键和值的对应不需要SQL层解析。将数据存储在缓存中,而关系型数据库是将数据存储在硬盘中,查询速度不及NoSQL。 数据存储格式丰富:NoSQL以key-value、文档、图片等形式存储数据,关系型数据库只能存储基本类型的数据。

初叙 259

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

简单了解一下Redis

## Redis是什么? Redis是一个基于内存且支持持久化的key-value的NoSQL数据库,其中每个key和value都是使用对象表示的,具有以以下特征:多样数据类型、持久化、主从同步。## 为什么使用? 1、解决应用服务器的cpu和内存压力。 2、减少io的读操作,减轻io的压力。## 优点 1、nosql数据库没有关联关系,数据结构简单,拓展表比较容易。2、nosql读取速度快,对较大数据处理快## 适用场景 数据高并发的读写, 海量数据的读写, 对扩展性要求高的数据## 怎么使用? **po

LEN程序员的一生 259

redis-简单了解

redis的简单了解

六月的雨 796

Redis是什么,redis简述简单了解

Redis是什么Redis简述redis简单介绍,redis数据类型,穿透击穿雪崩,持久化策略

求知求志求智 312

跟我一起学Redis之Redis事务简单了解一下

前言关系数据库中的事务,小伙伴们应该是不陌生了,不管是在开发还是在面试过程中,总有两个问题逃不掉:•说说事务的特性;•事务隔离级别是怎么一回事?事务处理不好,数据就可能不准确,最终就会导...

dotNET跨平台 258
上一篇: Java记录 -90- 静态代理模式深度剖析
下一篇: zookeeper单机多实例和分布式部署
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值