Redis(1)----數據類型String

Redis

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
它通常被稱爲數據結構服務器,因爲值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

數據存儲類型介紹

String 字符串
Hash 散列
List 列表
Set 集合
Sorted_set 有序集合

redis數據存儲格式

redis自身是一個Map,其中所有的數據都是採用key:value的形式存儲
數據類型指的是存儲的數據的類型,也就是value部分的類型,key部分永遠都是字符串
在這裏插入圖片描述

String類型

存儲的數據:單個數據,最簡單的數據存儲類型,也是最常用的數據存儲類型
存儲數據的格式:一個存儲空間保存一個數據
存儲內容:通常使用字符串,如果字符串以整數的形式展示,可以作爲數字操作使用

例如 redis存儲:
key1------------》張三
key2------------》123456
注意:一個鍵最大能存儲 512MB。

String類型數據的基本操作

添加/修改數據
set key value
獲取數據
get key
刪除數據
del key
添加/修改多個數據
mset key1 value key2 value2 key3 value3 ......
獲取多個數據
mget key1 key2 key3 ......
獲取數據字符個數(字符串長度)
 strlen key

追加信息到原始信息後部(如果原始信息存在就追加,否則新建)
append key value

單數據操作與多數據操作的選擇之惑

在這裏插入圖片描述
假設單指令3條指令 發送set請求就是三次,返回result請求也是三次,redis執行3次
假設多指令3條指令 發送set請求就是一次,返回result請求也是一次,redis執行3次
考慮到一次發送完時長特別大的話,就可以使用多指令操作,具體看項目需求。

string類型數據的擴展操作

業務場景
大型企業級應用中,分表操作是基本操作,使用多張表存儲同類型數據,但是對應的主鍵id必須保證統一性,不能重複。Oracle數據庫具有sequence設定,可以解決該問題,但是Mysql數據庫並不具有類似的機制
如何解決?
在這裏插入圖片描述
解決方案

設置數值數據增加指定範圍的值
incr key
incrby key increment(用給定的值增加 increment可以爲正負)
incrbyfloat key increment(用給定的帶小數的增加)
設置數值數據減少指定範圍的值
decr key
decrby increment

string在redis內部存儲默認爲一個字符串,當遇到增減類操作incr,decr時會轉成數值型進行計算
redis所有的操作都是原子性的,採用單線程處理所有業務時,命令是一個一個 執行的。

設置生命週期

控制數據的生命週期,通過數據是否失效控制業務行爲,適用於具有時效限定控制的操作

setex key seconds value ()
psetex key milliseconds value (毫秒)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章