国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

放棄 MySQL,擁抱 PG!

0
分享至

Java精選面試題(微信小程序):5000+道面試題和選擇題,包含Java基礎(chǔ)、并發(fā)、JVM、線程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架構(gòu)設(shè)計(jì)、大廠真題等,在線隨時(shí)刷題!

一、前言

最近在最新的數(shù)據(jù)庫受歡迎程度排行榜中,排在第一位的竟然不是我們熟悉的MYSQL數(shù)據(jù)庫而是PostgreSQL,并且MySQL數(shù)據(jù)庫的受歡迎程度比PostgreSQL竟然落后了15個(gè)百分點(diǎn)。


為何pg數(shù)據(jù)庫這幾年突飛猛進(jìn),為何mysql數(shù)據(jù)庫逐漸落寞?本文旨在總結(jié)和挖掘Pg數(shù)據(jù)庫的幾個(gè)亮點(diǎn)功能,分析為何pg數(shù)據(jù)庫能成為當(dāng)下最受歡迎的數(shù)據(jù)庫

二、安裝

這里簡(jiǎn)要說明下安裝過程,筆者是使用docker安裝的pg數(shù)據(jù)庫 過程中使用到的幾個(gè)關(guān)鍵命令如下:


docker run --namepostgres-db-ePOSTGRES_PASSWORD=initialpass-p5432:5432-dpostgres:latest

docker exec-itpostgres-dbpsql-Upostgres

-- 創(chuàng)建用戶root并設(shè)置密碼

CREATE USER root WITH SUPERUSER PASSWORD'root';

-- 授予所有權(quán)限

GRANT ALL PRIVILEGES ON DATABASE postgres TO root;

-- 使用root用戶登錄 postgres 數(shù)據(jù)庫

psql-Uroot-dpostgres


三、Pg數(shù)據(jù)庫功能亮點(diǎn)

3.1 強(qiáng)大的面向?qū)ο蟮闹С帜芰?/strong>

Pg數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫但是也是面向?qū)ο蟮臄?shù)據(jù)庫,這就使得這個(gè)數(shù)據(jù)庫更符合服務(wù)端面向?qū)ο缶幊痰乃季S模式。

先定義一個(gè)雇員類型:


createTYPEemployee AS (

name VARCHAR,

age INT,

skill TEXT[]

);


上面的代碼中 我們創(chuàng)建了一個(gè)自定義類型 employee包含三個(gè)字段:

  • name:字符串類型(員工姓名)

  • age:整數(shù)類型(員工年齡)

  • skill:文本數(shù)組(員工技能列表)

然后我們創(chuàng)建一個(gè)數(shù)據(jù)表


CREATE TABLE"tb_employees"(

id SERIAL PRIMARY KEY,

"employee_info""employee",

"department_id"varchar(20)",

"created_at"timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,

"updated_at"timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,

CONSTRAINT"tb_employees_pkey"PRIMARY KEY ("id")

)

;

INSERT INTO"tb_employees"(employee_info) VALUES (ROW('張三', 30, ARRAY['Java','Python'])::employee);

-- 注意 employee 類型中的每個(gè)字段值都必須寫上,缺少任何一個(gè)字段都會(huì)報(bào)錯(cuò)

INSERT INTO"tb_employees"(employee_info, department_id) VALUES (ROW('Maria', 20, ARRAY[]::TEXT[])::employee,'Guard');


表和表之間還能夠繼承,我們創(chuàng)建了一個(gè)子公司員工表 tb_sub_employees ,它繼承了 tb_employees 數(shù)據(jù)表,同時(shí)我們還定義了一個(gè)額外字段 sub_company_name


create table tb_sub_employees(

sub_company_name VARCHAR(64)

) INHERITS (tb_employees)

INSERT INTO tb_sub_employees (

employee_info,

sub_company_name,

department_id

) VALUES

(

ROW('王一', 30, ARRAY['java']::TEXT[])::employee, -- employee 類型完整字段(name, age, skill)

'北京分公司',

'技術(shù)部'

),

(

ROW('王二', 35, ARRAY['項(xiàng)目管理']::TEXT[])::employee,

'廣州分公司',

'行政部'

);


然后我們打開這個(gè)表看下結(jié)構(gòu) 發(fā)現(xiàn)這個(gè)表繼承了父表的所有字段


表的繼承還有下面兩個(gè)重要規(guī)律

  • 父表后續(xù)新增 / 刪除字段時(shí),子表不會(huì)自動(dòng)同步(需手動(dòng)調(diào)整子表結(jié)構(gòu));但父表修改字段類型(如 VARCHAR(32) 改 VARCHAR(64)),子表會(huì)自動(dòng)同步。

  • 不會(huì)自動(dòng)繼承父表的觸發(fā)器、索引、主鍵約束、外鍵約束等 “對(duì)象級(jí)配置”,僅繼承字段結(jié)構(gòu)

此外當(dāng)我們執(zhí)行SELECT * from tb_employees,會(huì)同時(shí)查找出來子表和父表的內(nèi)容.


如果只需要查找出子表的內(nèi)容需要將查詢修改為下面這樣,添加一個(gè)ONLY 關(guān)鍵字


SELECT* from ONLY tb_employees

利用這個(gè)機(jī)制其實(shí)還可以做數(shù)據(jù)隔離,比如我們現(xiàn)在的 tb_employees 有一個(gè)狀態(tài)字段 status,標(biāo)識(shí)員工是否在職,然后我們創(chuàng)建一個(gè) tb_employees_his 表記錄已經(jīng)離職的人員,然后給tb_employees 綁定一個(gè)觸發(fā)器在status變?yōu)殡x職狀態(tài)的時(shí)候,往tb_employees_his插入一條數(shù)據(jù),然后刪除掉tb_employees 中的數(shù)據(jù),這樣上層應(yīng)用就查不到這個(gè)員工了,但是如果去掉ONLY關(guān)鍵字就還能查到。

3.2 豐富的內(nèi)置字段類型

Pg數(shù)據(jù)庫比Mysql數(shù)據(jù)庫支持更多的字段類型,除了上一節(jié)說過的自定義字段類型之后還有下面幾種內(nèi)置字段類型值得關(guān)注:

  • 1)CIDR類型


CREATE TABLE"net_segments"(

-- serial 是一種特殊的自動(dòng)增長(zhǎng)整數(shù)類型,用于簡(jiǎn)化自增主鍵(ID 字段)的創(chuàng)建。它本質(zhì)上是一個(gè)語法糖,底層通過結(jié)合 integer 類型、序列(sequence)和默認(rèn)值實(shí)現(xiàn)自動(dòng)增長(zhǎng)功能

"id"SERIAL PRIMARY KEY,

"segment"cidr NOT NULL,

"segment_remark"varchar(255)

)

;

COMMENT ON COLUMN"net_segments"."id"IS'id';

COMMENT ON COLUMN"net_segments"."segment"IS'網(wǎng)段';

COMMENT ON COLUMN"net_segments"."segment_remark"IS'網(wǎng)段說明';

INSERT INTO"net_segments"("id","segment","segment_remark") VALUES (1,'192.168.1.0/24','機(jī)房1');

-- >> 運(yùn)算符:這是 PostgreSQL 中專門用于網(wǎng)絡(luò)地址類型的包含運(yùn)算符,表示 “左側(cè)網(wǎng)絡(luò)包含右側(cè)網(wǎng)絡(luò)”

select* from net_segmentswheresegment >>'192.168.1.128/28'::CIDR


  • 2)幾何學(xué)類型


-- 創(chuàng)建包含 circle 類型的表

CREATE TABLE circles (

id SERIAL PRIMARY KEY,

area circle

);

-- 插入圓形數(shù)據(jù)

INSERT INTO circles (area) VALUES

('((0,0), 10)'), -- 圓心(0,0),半徑10

('((5,5), 3)'); -- 圓心(5,5),半徑3

-- 查詢:判斷點(diǎn) (3,3) 是否在圓內(nèi)

SELECTid, area

FROM circles

WHEREarea @> point'(3,3)'; -- @> 是包含運(yùn)算符,判斷圓是否包含點(diǎn)


3.3 強(qiáng)大的JSON字段類型支持

在mysql 8.0 版本之后,數(shù)據(jù)庫的字段類型也支持了json,但是mysql對(duì)json的支持還是比較簡(jiǎn)單,接下來我們看看 postgreSQL在JSON字段類型上的強(qiáng)大支持能力


CREATETABLEtb_request_log (

id SERIALPRIMARYKEY,

urlVARCHAR(1024)NOTNULL,

response JSONB,

request_timeTIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMP

);

-- 說明:這里為什么不給字段直接添加注釋呢?是因?yàn)椴糠职姹镜膒g不支持直接在建表語句里面寫注釋,可以通過COMMENT ON COLUMN 這個(gè)語法在創(chuàng)建完數(shù)據(jù)表之后再添加注釋


隨后向這個(gè)表里面添加幾條數(shù)據(jù):


那么請(qǐng)你思考下如果我們要在mysql數(shù)據(jù)庫中選出code是200的記錄,是不是還挺麻煩的,但是在pg這邊這些問題就可以輕松解決,首先為了支持JSON數(shù)據(jù)的檢索,pg定義了很多新的操作符:


->:返回 JSON 對(duì)象(帶引號(hào),如"success"

->>:返回文本值(不帶引號(hào),如 success)

@>:判斷 JSON 是否包含指定對(duì)象(如數(shù)組包含某元素)

||:合并兩個(gè) JSON 對(duì)象(用于更新)

-:刪除 JSON 中的指定鍵


例如下面給出來的一些查詢實(shí)例,這些查詢?cè)贛ySQL中每個(gè)查詢實(shí)現(xiàn)起來都比較麻煩,但是在Pg中就比較好實(shí)現(xiàn)。


-- 查詢code==200 的訪問log

SELECT*

FROMtb_request_log

WHEREresponse ->>'code'='200';

-- 查詢 response 中包含頂級(jí) data 字段的記錄

SELECT*

FROMtb_request_log

WHEREresponse ?'data';

-- 查詢 response 字段中的requestType 數(shù)組中包含 "API" 的記錄

SELECT*

FROMtb_request_log

WHEREresponse ->'requestType'@>'["API"]'::JSONB;

-- 查詢 tb_request_log 表中,response(JSONB 類型)字段包含 {"code":200} 這個(gè) JSON 對(duì)象的所有記錄

select*fromtb_request_logwhereresponse @>'{"code":200}'

上面的sql雖然可以查詢到結(jié)果,但是如果數(shù)據(jù)表的記錄數(shù)比較多,查詢效率就比較一般了,但是不要慌,pg還支持給需要經(jīng)常用來作為檢索條件的json字段加索引。


-- 對(duì)response中的"code"字段創(chuàng)建索引

CREATEINDEXidx_tb_request_log_response_statusONtb_request_log USING GIN ((response ->'code'));


那么如果在mysql中如果要修改一個(gè)json字段的內(nèi)容,比如添加一個(gè)key或者移除一個(gè)key,那么基本上就是要覆蓋重寫,但是在pg中就比較簡(jiǎn)單了。


-- 更新JSON字段中的值(如修改某條記錄的message)

UPDATEtb_request_log

SETresponse = response ||'{"message": "登錄成功(已更新)"}'::JSONB-- 使用||合并更新

WHEREid = 1;

-- 刪除JSON字段中的某個(gè)鍵(如刪除details字段)

UPDATEtb_request_log

SETresponse = response -'details'-- 使用-刪除鍵

WHEREid = 2;


3.4 豐富的數(shù)據(jù)庫插件生態(tài)

pg數(shù)據(jù)庫擁有強(qiáng)大的插件生態(tài),這就讓pg的拓展功能非常強(qiáng)大,這其中有5個(gè)插件功能讀者可以重點(diǎn)了解一下:

  • 全文檢索功能(安裝中文分詞器插件 ,讓pg實(shí)現(xiàn)類似 ElasticSearch的全文檢索功能,默認(rèn)情況下 PostgreSQL支持英文分詞檢索,且不需要安裝任何插件)

  • 快速數(shù)據(jù)讀取(安裝 redis_fdw,讓pg充當(dāng)redis類似的角色。備注:PostgreSQL可以使用CREATE UNLOGGED TABLE 命令創(chuàng)建臨時(shí)表(數(shù)據(jù)庫重啟之后數(shù)據(jù)全部丟失)這種臨時(shí)表也可以支持快速查詢和快速寫入,也可以可以間接的當(dāng)緩存使用而不用安裝任何插件)

  • 地理位置支持(安裝 postgis ,讓pg支持地理位置,例如經(jīng)緯度范圍查詢)

  • 向量數(shù)據(jù)庫(安裝 pgvector ,讓pg支持向量檢索 ,用于AI-Agent的 RAG 功能實(shí)現(xiàn))

  • 定時(shí)任務(wù)(安裝 pg_cron 讓pg支持定時(shí)任務(wù))

由于篇幅所限不能將所有插件以及特色功能全部介紹一遍,下面以pg_cron和pg_vector為例子介紹下具體的插件安裝和基礎(chǔ)使用

3.4.1 pg_cron 定時(shí)任務(wù)插件

安裝插件之前需要先獲取下當(dāng)前pg數(shù)據(jù)庫的版本,比如我這個(gè)docker安裝的postgreSQL的版本就是 17.6 版本,插件的安裝需要考慮和當(dāng)前pgSQL 的版本匹配

安裝插件也非常簡(jiǎn)單,這里以 pg_cron 插件為例子說明下安裝命令


# 更新包索引(容器內(nèi)操作)

apt-getupdate

# 安裝 pg_cron(版本號(hào)與 PostgreSQL 17 匹配)

apt-getinstall-ypostgresql-17-cron


隨后打開pgSQL docker 容器的的配置文件


vim /var/lib/postgresql/data/postgresql.conf

在這個(gè)配置文件做下述修改


# 原配置可能為空或包含其他插件

shared_preload_libraries ='pg_cron'# 例如:已有 postgis 則改為 'pg_cron,postgis'


注意pg_cron 插件默認(rèn)只能且只能在 postgres 數(shù)據(jù)庫(默認(rèn)系統(tǒng)數(shù)據(jù)庫)創(chuàng)建和管理定時(shí)任務(wù),如果你自己定義了一個(gè)數(shù)據(jù)庫,需要在這個(gè)數(shù)據(jù)庫中使用插件,你需要修改配置文件,添加下面的選項(xiàng):


# 在文件末尾添加(替換為你的數(shù)據(jù)庫名,如 test)

cron.database_name ='test'


創(chuàng)建一個(gè)定時(shí)任務(wù)也非常簡(jiǎn)單:


# 在 postgres 數(shù)據(jù)庫中創(chuàng)建插件和任務(wù)(此時(shí)不會(huì)報(bào)錯(cuò))

CREATE EXTENSION pg_cron;

# 創(chuàng)建定時(shí)任務(wù) 每天凌晨 2 點(diǎn)自動(dòng)刪除 tb_request_log 表中 30 天前的記錄

SELECTcron.schedule(

'clean-test-logs',

'0 2 * * *',

$$DELETEFROM tb_request_logWHERErequest_time < NOW() - INTERVAL'30 days'$$

);

# 查看當(dāng)前有哪些定時(shí)任務(wù)

SELECT* FROM cron.job;

# 關(guān)閉任務(wù) 刪除名為 test-cron-job 的定時(shí)任務(wù)。

SELECTcron.unschedule('test-cron-job')


啟用定時(shí)任務(wù)拓展之后就會(huì)在當(dāng)前數(shù)據(jù)庫下開啟一個(gè)新的數(shù)據(jù)表 cron.job 結(jié)構(gòu)如下:

3.4.2 pgvector 向量數(shù)據(jù)庫插件

本文使用一個(gè)真實(shí)案例來介紹 使用pg數(shù)據(jù)庫來實(shí)現(xiàn)RAG功能

RAG功能用咱的大白話來說就是用私域的知識(shí)來和用戶的提問一起交給大模型,這樣大模型就知道一些問題的背景了,因?yàn)橛袝r(shí)候用戶的問題涉及到的相關(guān)知識(shí)大模型是沒有訓(xùn)練過的。那么私域的知識(shí)可能有很多,不可能每次用戶提問都把所有的知識(shí)庫都帶上,帶上哪些相關(guān)材料就是RAG要解決的問題。 那么為什么需要向量數(shù)據(jù)庫呢,這是因?yàn)槲覀兊闹R(shí)庫如果要想實(shí)現(xiàn)上面的這套流程,必須先轉(zhuǎn)為向量存儲(chǔ)之后才行。在用戶在提問的時(shí)候,會(huì)檢索向量數(shù)據(jù)庫里面的相似內(nèi)容,放在提示詞里面一起送給大模型。

我們先按照類似的流程安裝 pgvector 插件 (postgresql-17-pgvector),但是安裝pgvector由于不涉及后臺(tái)數(shù)據(jù)庫調(diào)度所以不用改數(shù)據(jù)庫配置文件也不用重啟容器,具體命令也就下面這一行即可


apt-getinstall-ypostgresql-17-pgvector


隨后我們登錄數(shù)據(jù)庫筆者這里是使用navicat 直接執(zhí)行一下下面的命令,當(dāng)前數(shù)據(jù)庫也就開啟了vector的拓展


CREATE EXTENSION vector

在RAG中 把 “外部知識(shí)” 變成 “可檢索的格式”,具體分為四步:

步驟 1:數(shù)據(jù)加載(Load) 步驟 2:數(shù)據(jù)拆分(Split):大模型處理文本有 “長(zhǎng)度限制”(如 GPT-4 上下文窗口是 128k tokens,約 10 萬字),因此需要將長(zhǎng)文檔拆成 “短片段”(如每段 200-500 字),確保后續(xù)檢索和生成時(shí)能完整覆蓋關(guān)鍵信息。 步驟 3:文本向量化(Embed):用嵌入模型(Embedding Model) 將每個(gè)文本片段轉(zhuǎn)換成 “向量”(一串?dāng)?shù)字,如 768 維 / 1536 維數(shù)組)。 向量的核心作用是 “用數(shù)字表示語義”:語義越相似的文本,向量在 “向量空間” 中的距離越近 步驟 4:向量存儲(chǔ)(Store)

首先我們先用langchain的相關(guān)API構(gòu)建下述智能體代碼,對(duì)langchain 或者 langgraph 不熟悉的同學(xué)可以簡(jiǎn)單看下我之前寫的相關(guān)博客,或者直接去官網(wǎng)了解最新的內(nèi)容。


importasyncio

from langchain_openaiimportOpenAIEmbeddings

from langchain_community.document_loadersimportWebBaseLoader

from langchain.text_splitterimportRecursiveCharacterTextSplitter

from langchain_community.embeddingsimportDashScopeEmbeddings

from langchain_postgresimportPGEngine, PGVectorStore

# Set embeddings

embd = DashScopeEmbeddings(

dashscope_api_key="xxxxxxxxxxxxxx",

model="text-embedding-v3"

)

# Docs to index

urls = [

"https://java2ai.com/docs/1.0.0-M6.1/tutorials/vectorstore/?spm=4347728f.4dbc009c.0.0.179c6e97dDjP50",

]

# Load

docs = [WebBaseLoader(url).load()forurl in urls]

docs_list = [itemforsublist in docsforitem in sublist]

print(docs_list)

# Split

text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(

chunk_size=500, chunk_overlap=0

)

doc_splits = text_splitter.split_documents(docs_list)

async def get_store(embedding: OpenAIEmbeddings):

CONNECTION_STRING ="postgresql://root:root@localhost:5432/test?sslmode=disable"

pg_engine = PGEngine.from_connection_string(url=CONNECTION_STRING)

# 創(chuàng)建向量存儲(chǔ)表,指定表名和向量維度

await pg_engine.ainit_vectorstore_table(

table_name="vectorstore",

vector_size=768,

)

store = await PGVectorStore.create(

engine=pg_engine,

table_name="vectorstore",

embedding_service=embedding,

)

returnstore

store = asyncio.run(get_store(embd))

store.aadd_documents(doc_splits)

retriever = store.as_retriever()

user_query="什么是向量存儲(chǔ)"

# 基于向量相似度檢索相關(guān)文檔。

docs = retriever.invoke(user_query)

print(docs)


上面的代碼會(huì)創(chuàng)建一個(gè)支持向量存儲(chǔ)和相似度搜索的專用表 vectorstore,表中包含文本內(nèi)容、對(duì)應(yīng)的768維向量以及可選的元數(shù)據(jù)字段,數(shù)據(jù)表中記錄這文本片段和向量化之后的信息。

在Langgraph中也支持使用pg數(shù)據(jù)庫來做長(zhǎng)期記憶,避免使用內(nèi)存記憶無法進(jìn)行持久化的問題。在AI-Agent開發(fā)過程中使用Pg數(shù)據(jù)庫做向量存儲(chǔ)也是一個(gè)非常好的選擇

四、為何MYSQL數(shù)據(jù)庫逐漸黯淡

筆者依然記得在大學(xué)時(shí)期學(xué)習(xí)數(shù)據(jù)庫理論的時(shí)候使用的數(shù)據(jù)庫是一款叫做SQL-Server的數(shù)據(jù)庫,當(dāng)時(shí)在學(xué)習(xí)的時(shí)候了解到了 觸發(fā)器、存儲(chǔ)過程、視圖 這樣的數(shù)據(jù)庫概念,但是后來畢業(yè)后參加工作后這些特性竟然很少用到,這些功能更多的還是利用自己編寫代碼去實(shí)現(xiàn)而不是利用數(shù)據(jù)庫自帶的功能。

筆者分析看來pg數(shù)據(jù)庫能夠越來越受歡迎的原因有下面幾個(gè)

  • 1)強(qiáng)大的插件生態(tài)

  • 2)豐富的內(nèi)置功能

  • 3)更符合標(biāo)準(zhǔn)SQL數(shù)據(jù)庫規(guī)范

也許在未來做數(shù)據(jù)庫技術(shù)選型的時(shí)候Pg數(shù)據(jù)庫更值得考慮,尤其是在一些低預(yù)算小項(xiàng)目中,pg的豐富功能可以讓我們?nèi)ヌ娲徊糠值闹虚g件例如es、mongo、定時(shí)任務(wù)調(diào)度中心等。

如果讀者對(duì)Pg數(shù)據(jù)庫感興趣 后期筆者還會(huì)出一期 關(guān)于MybatisPlus 和Pg數(shù)據(jù)庫的結(jié)合使用的注意事項(xiàng)。

作者:自然吸氣發(fā)動(dòng)機(jī)

來源:https://juejin.cn/post/7542045803583209498

公眾號(hào)“Java精選”所發(fā)表內(nèi)容注明來源的,版權(quán)歸原出處所有(無法查證版權(quán)的或者未注明出處的均來自網(wǎng)絡(luò),系轉(zhuǎn)載,轉(zhuǎn)載的目的在于傳遞更多信息,版權(quán)屬于原作者。如有侵權(quán),請(qǐng)聯(lián)系,筆者會(huì)第一時(shí)間刪除處理!

最近有很多人問,有沒有讀者交流群!加入方式很簡(jiǎn)單,公眾號(hào)Java精選,回復(fù)“加群”,即可入群!

文章有幫助的話,點(diǎn)在看,轉(zhuǎn)發(fā)吧!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
被曝生下畸形兒傳聞僅1月,闞清子官宣喜訊,連發(fā)三文表明態(tài)度

被曝生下畸形兒傳聞僅1月,闞清子官宣喜訊,連發(fā)三文表明態(tài)度

一口娛樂
2026-01-29 09:31:09
已確認(rèn),浙江有大到暴雪!今晚變天

已確認(rèn),浙江有大到暴雪!今晚變天

魯中晨報(bào)
2026-01-29 13:39:09
不敢置信!女子十二樂坊成員直播養(yǎng)不活自己,一晚上打賞不到3000

不敢置信!女子十二樂坊成員直播養(yǎng)不活自己,一晚上打賞不到3000

云中浮生
2026-01-24 21:37:46
奇葩!35歲女子4年不回家,母親來探望卻被懟,女子:就當(dāng)我死了

奇葩!35歲女子4年不回家,母親來探望卻被懟,女子:就當(dāng)我死了

娛樂帝皇丸
2026-01-28 15:18:51
16歲武漢男生凌晨離家,失聯(lián)超70小時(shí), 父親:未帶手機(jī)現(xiàn)金,最后出現(xiàn)在橋上不見蹤跡

16歲武漢男生凌晨離家,失聯(lián)超70小時(shí), 父親:未帶手機(jī)現(xiàn)金,最后出現(xiàn)在橋上不見蹤跡

大風(fēng)新聞
2026-01-29 13:53:22
人民日?qǐng)?bào)怒批!炫富、偷稅749萬、跑國外,現(xiàn)又來“割內(nèi)地韭菜”

人民日?qǐng)?bào)怒批!炫富、偷稅749萬、跑國外,現(xiàn)又來“割內(nèi)地韭菜”

小熊侃史
2026-01-18 07:20:09
港股地產(chǎn)股大漲,融創(chuàng)中國漲超30%

港股地產(chǎn)股大漲,融創(chuàng)中國漲超30%

每日經(jīng)濟(jì)新聞
2026-01-29 11:39:06
外交部:繼續(xù)深化國際執(zhí)法合作 加大力度打擊網(wǎng)賭電詐

外交部:繼續(xù)深化國際執(zhí)法合作 加大力度打擊網(wǎng)賭電詐

財(cái)聯(lián)社
2026-01-29 15:26:24
尼帕病毒來勢(shì)洶洶,建議:每家最好備6樣?xùn)|西,關(guān)鍵時(shí)刻能救命呢

尼帕病毒來勢(shì)洶洶,建議:每家最好備6樣?xùn)|西,關(guān)鍵時(shí)刻能救命呢

現(xiàn)代小青青慕慕
2026-01-28 08:59:53
阿富汗的鍋,拜登不背!

阿富汗的鍋,拜登不背!

山河路口
2026-01-28 23:12:39
心理學(xué)上有一個(gè)詞叫:梅拉賓法則(搞好人際關(guān)系最好的辦法)

心理學(xué)上有一個(gè)詞叫:梅拉賓法則(搞好人際關(guān)系最好的辦法)

經(jīng)濟(jì)觀察報(bào)
2025-09-01 10:06:25
1971年,劉思齊蒙冤入獄后向毛主席求助,毛澤東作出:娃娃們無罪

1971年,劉思齊蒙冤入獄后向毛主席求助,毛澤東作出:娃娃們無罪

史海孤雁
2026-01-27 18:02:17
瞞不住了!美媒:美軍高官已進(jìn)臺(tái)島指揮導(dǎo)彈戰(zhàn),戰(zhàn)時(shí)先炸福建沿海

瞞不住了!美媒:美軍高官已進(jìn)臺(tái)島指揮導(dǎo)彈戰(zhàn),戰(zhàn)時(shí)先炸福建沿海

史智文道
2026-01-29 16:14:14
要打就打痛!中國手段已升級(jí),日本:中方不批準(zhǔn)駐重慶總領(lǐng)事任命

要打就打痛!中國手段已升級(jí),日本:中方不批準(zhǔn)駐重慶總領(lǐng)事任命

通文知史
2026-01-28 14:30:03
太頂了!明明什么都沒露,卻性感得要命!

太頂了!明明什么都沒露,卻性感得要命!

貴圈真亂
2025-12-20 12:02:06
最新傷勢(shì)情況曝光,德約科維奇直言:對(duì)辛納絕不舉白旗

最新傷勢(shì)情況曝光,德約科維奇直言:對(duì)辛納絕不舉白旗

體育妞世界
2026-01-29 12:38:11
起風(fēng)了!加拿大已改口,禁止與中國簽協(xié)定,65萬噸油菜籽白買了?

起風(fēng)了!加拿大已改口,禁止與中國簽協(xié)定,65萬噸油菜籽白買了?

墨印齋
2026-01-29 11:47:54
加快男性衰老的因素:喝酒僅第5,排在第1的,很多男性還沒發(fā)現(xiàn)!

加快男性衰老的因素:喝酒僅第5,排在第1的,很多男性還沒發(fā)現(xiàn)!

醫(yī)學(xué)科普匯
2026-01-27 10:41:31
中國人一年少買了10萬輛進(jìn)口寶馬

中國人一年少買了10萬輛進(jìn)口寶馬

第一財(cái)經(jīng)資訊
2026-01-29 10:34:13
1973年,毛主席問楊振寧:萬壽無疆科學(xué)嗎?楊振寧的回答,讓主席笑了

1973年,毛主席問楊振寧:萬壽無疆科學(xué)嗎?楊振寧的回答,讓主席笑了

寄史言志
2026-01-24 17:53:13
2026-01-29 17:15:00
Java精選
Java精選
一場(chǎng)永遠(yuǎn)也演不完的戲
1768文章數(shù) 3859關(guān)注度
往期回顧 全部

科技要聞

周亞輝的AI新賭局:國內(nèi)太卷 出海另起爐灶

頭條要聞

女大學(xué)生到東北游玩暈倒雪地凍傷 三根手指或面臨截肢

頭條要聞

女大學(xué)生到東北游玩暈倒雪地凍傷 三根手指或面臨截肢

體育要聞

詹姆斯哭了!騎士視頻致敬41歲超巨

娛樂要聞

張譯不再隱瞞!公開回應(yīng)退圈息影真相

財(cái)經(jīng)要聞

崔東樹:中國汽車未來年銷或達(dá)5000萬輛

汽車要聞

車長(zhǎng)超5米還帶后輪轉(zhuǎn)向 比亞迪海豹08/海獅08將亮相

態(tài)度原創(chuàng)

藝術(shù)
教育
房產(chǎn)
親子
公開課

藝術(shù)要聞

梵高全集(高清350張)震撼……

教育要聞

“國家課程落地吳江行動(dòng)叢書”發(fā)布!聚焦課改前沿,共探育人新路!

房產(chǎn)要聞

萬科難眠夜:前董事長(zhǎng)郁亮失聯(lián),三筆債券靠深鐵才通過展期

親子要聞

一個(gè)現(xiàn)象:縣城里的孕婦越來越少了

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版