學習筆記——NoSQL資料庫;Redis概述;redis中常用的數據類型(key、string)

来源:https://www.cnblogs.com/isDaHua/archive/2023/01/25/17066452.html
-Advertisement-
Play Games

2023-01-24 一、NoSQL資料庫 1、NoSQL資料庫的簡介 NoSQL(NoSQL=Not Only SQL),即“不僅僅是SQL”,泛指非關係型的資料庫。NosQL不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了資料庫的擴展能力。 (1)不遵循SQL標準 ...


2023-01-24

一、NoSQL資料庫

1、NoSQL資料庫的簡介

NoSQL(NoSQL=Not Only SQL),即“不僅僅是SQL”,泛指非關係型的資料庫。NosQL不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了資料庫的擴展能力。

(1)不遵循SQL標準

(2)不支持ACID。(原子、一致、隔離、持久)

(3)遠超於SQL的性能

2、NoSQL適用場景

(1)對數據高併發的讀寫

(2)海量數據的讀寫

(3)對數據高可擴展的

3、NoSQL不適用場景

(1)需要事務支持

(2)基於sql的結構化查詢存儲,處理複雜的關係。

4、非關係型資料庫

(1)Memcache

①不支持持久化

②支持類型單一

③一般是作為緩存資料庫輔助持久化的資料庫

(2)Redis

①支持持久化

②支持多種數據結構的存儲,比如list、set、hash、zset

③一般是作為緩存資料庫輔助持久化的資料庫

(3)MongDB

①高性能、開源、模式自由的文檔型資料庫

②數據都在記憶體中,如果記憶體不足,吧不常用的數據保存到硬碟

③雖然是key-value模式,但是對value(尤其是json)提供了豐富的查詢功能

④支持二進位數據及大型對象

⑤可以根據數據的特點替代RDBMS,成為獨立的資料庫。或者配合RDBMS,存儲特定的數據。

2023-01-25

一、Redis概述

1、Redis概述

(1)Redis是一個開源的key-value存儲系統。

(2)Redis(Remote Dictionary Service):遠程字典服務,Redis是一個開源的使用ANSIC語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、key-value資料庫(NoSQL),並提供多種語言的API。實際開發中,主要時用來做緩存,加快查詢效率。

(3)支持存儲的value類型相對更多,包括string(字元串)、list(列表)、set(集合)、zset(有序集合)和hash(哈希類型)

(4)這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

(5)在此基礎上,Redis支持各種不同方式的排序。

(6)為了保證效率,數據都是緩存在記憶體中。

(7)redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件。

(8)並且在此基礎上實現了master-slave(主從)同步。

2、Redis的下載路徑

http://redis.cn/

二、redis中常用的數據類型

1、Redis鍵(key)

(1)查看當前庫所有key

keys *

(2)判斷某個key是否存在

exists key

(3)查看存儲的key是什麼類型

type key

(4)刪除指定的key數據

del key

(5)根據value選擇非阻塞刪除

僅將keys從keyspace元數據中刪除,真正的刪除會在後續非同步操作

unlink key

(6)為給定的key設置過期時間(單位是秒)

expire key 10

(7)查看還有多少秒過期,-1表示永不過期,-2表示已過期

ttl key

(8)命令切換資料庫

select 數字(一共有16個庫,從0-15)

(9)查看當前資料庫的key的數量

dbsize

(10)清空當前庫

flushdb

(11)通殺全部庫

flushall

2、Redis字元串(String)

String類型是二進位安全的。即redis中的string可以包含任何數據。

string類型是redis最基本的數據類型,一個redis中字元串value最多可以是512M。

(1)將字元串值value關聯到key

set key值 value值

(2)查詢對應鍵值

get key值

(3)將給定的value值追加到原值的末尾

append key值  value值

(4)獲得值的長度

strlen key值

(5)只有在key不存在時,設置key的值

setnx  key值  value值

(6)將key中儲存的數字值增1。只能對數字值操作,如果為空,新增值為1。

incr  key值

(7)將key中儲存的數字值減1。只能對數字值操作,如果為空,新增值為-1。

decr key值

(8)將key中儲存的數字值增減。自定義步長。

incrby /decrby

(9)同時設置一個或多個key-value對

mset key1 value1 key2 value2 ...

(9)同時獲取一個或多個value

mget key1 key2 ...

(10)同時設置一個或多個key-value對,當且僅當所有給定key都不存在

msetnx key1 value1 key2 value2 ...

(11)獲得值的範圍,類似於java中的substring ,前包,後包

getrange key 起始位置 結束位置

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 簡介: 組合模式,屬於結構型的設計模式。將對象組合成樹形結構以表示“部分-整體”的層次結構。組合模式使得用戶對單個對象和組合對象的使用具有一致性。 組合模式分兩種狀態: 透明方式,子類的所有介面一致,使其葉子節點和枝節點對外界沒有區別。 安全方式,子類介面不一致,只實現特定的介面。 適用場景: 希望 ...
  • AOP-02 4.問題提出 在上一篇的MyProxyProvider類中,我們的輸出語句功能比較弱,在實際開發中,我們希望是以一個方法的形式,嵌入到真正執行的目標方法前,怎麼辦? 1.使用土方法解決 需求分析:使用土方法解決前面的問題,後面使用spring的aop組件完成 改進MyProxyProv ...
  • 2023-01-24 一、搜索查找類命令 1、find命令 (1)find -name "*.txt" (功能描述:查找當前目錄下包含“.txt”的文件) 2、grep過濾查找及“|”管道符 管道符,“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理 (1)ll | grep -n test ...
  • 前言 對於一個懶懶的,不想寫高精的人(就是我),每次都會遭遇到答案爆$long$ $long$的危險 比如說這道題: 題目傳送門 最後的$23-25$的兩個點,$long$ $long$甚至$unsigned$ $long$ $long$都無法滿足,難道真的要手打高精度了嗎? 不,我們有$\_$$\ ...
  • 2023-01-24 一、CentOS中的時間日期類命令 1、date顯示當前時間 (1)date (功能描述:顯示當前時間) (2)date + %Y (功能描述:顯示當前年份) (3)date + %m (功能描述:顯示當前月份) (4)date + %d (功能描述:顯示當前是哪一天) (5) ...
  • 2023-01-24 一、幫助命令 1、基本語法 man[命令或配置文件] 功能描述:獲得幫助信息 2、顯示說明 (1)NAME:命令的名稱和單行描述 (2)SYNOPSIS:怎樣使用命令 (3)DESCRIPTION:命令功能的深入討論 (4)EXAMPLES:怎樣使用命令的例子 (5)SEE A ...
  • 這篇文章主要關註服務發現,會討論基於DNS、VIP、ZooKeeper以及消息匯流排的服務發現機制,研究出在服務發現需要AP還是CP。 ...
  • 測試網站是本人學校,費話不多說下麵開始 首先直接導庫,過程中需要時間戳,rsa加密 import requests import re import time from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 ...
一周排行
    -Advertisement-
    Play Games
  • 一個自定義WPF窗體的解決方案,借鑒了呂毅老師的WPF製作高性能的透明背景的異形視窗一文,併在此基礎上增加了滑鼠穿透的功能。可以使得透明窗體的滑鼠事件穿透到下層,在下層窗體中響應。 ...
  • 在C#中使用RabbitMQ做個簡單的發送郵件小項目 前言 好久沒有做項目了,這次做一個發送郵件的小項目。發郵件是一個比較耗時的操作,之前在我的個人博客裡面回覆評論和友鏈申請是會通過發送郵件來通知對方的,不過當時只是簡單的進行了非同步操作。 那麼這次來使用RabbitMQ去統一發送郵件,我的想法是通過 ...
  • 當你使用Edge等瀏覽器或系統軟體播放媒體時,Windows控制中心就會出現相應的媒體信息以及控制播放的功能,如圖。 SMTC (SystemMediaTransportControls) 是一個Windows App SDK (舊為UWP) 中提供的一個API,用於與系統媒體交互。接入SMTC的好 ...
  • 最近在微軟商店,官方上架了新款Win11風格的WPF版UI框架【WPF Gallery Preview 1.0.0.0】,這款應用引入了前沿的Fluent Design UI設計,為用戶帶來全新的視覺體驗。 ...
  • 1.簡單使用實例 1.1 添加log4net.dll的引用。 在NuGet程式包中搜索log4net並添加,此次我所用版本為2.0.17。如下圖: 1.2 添加配置文件 右鍵項目,添加新建項,搜索選擇應用程式配置文件,命名為log4net.config,步驟如下圖: 1.2.1 log4net.co ...
  • 之前也分享過 Swashbuckle.AspNetCore 的使用,不過版本比較老了,本次演示用的示例版本為 .net core 8.0,從安裝使用開始,到根據命名空間分組顯示,十分的有用 ...
  • 在 Visual Studio 中,至少可以創建三種不同類型的類庫: 類庫(.NET Framework) 類庫(.NET 標準) 類庫 (.NET Core) 雖然第一種是我們多年來一直在使用的,但一直感到困惑的一個主要問題是何時使用 .NET Standard 和 .NET Core 類庫類型。 ...
  • WPF的按鈕提供了Template模板,可以通過修改Template模板中的內容對按鈕的樣式進行自定義。結合資源字典,可以將自定義資源在xaml視窗、自定義控制項或者整個App當中調用 ...
  • 實現了一個支持長短按得按鈕組件,單擊可以觸發Click事件,長按可以觸發LongPressed事件,長按鬆開時觸發LongClick事件。還可以和自定義外觀相結合,實現自定義的按鈕外形。 ...
  • 一、WTM是什麼 WalkingTec.Mvvm框架(簡稱WTM)最早開發與2013年,基於Asp.net MVC3 和 最早的Entity Framework, 當初主要是為瞭解決公司內部開發效率低,代碼風格不統一的問題。2017年9月,將代碼移植到了.Net Core上,併進行了深度優化和重構, ...