# String

## 資料結構

在Redis中，**String**是最簡單的資料結構，給定一&#x500B;**`Key`**&#x540D;稱之後，**`value`**&#x53EA;要是由Byte String(字節串)、Integer(整數)、或者是Float(浮點數)所構成，則可視為Redis中的一組String的資料。如&#x679C;**`value`**&#x662F;數值型的資料(也就是Integer或Float)，String的相關指令還支援遞增(**increment**)或遞減(**decrement**)的操作；對於字節串，也包含了其他程式語言常見的字串黏貼(**append**)與字串擷取(**substring**)等功能。雖然是最簡單的資料結構，在許多情境下很可能是最常用的資料型態。

![Concept of String Structure in Redis](https://224613336-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mb64kSCne8LKJiDOD49%2F-Mcn0HpEr6jWqoeUUfT9%2F-McnDF_72PswxHUFys3A%2F%E7%B4%A0%E6%9D%90.001.jpeg?alt=media\&token=7e27f3a9-eeda-4bdf-9e1a-daaa920a2953)

有關**Key**的命名方式眾說紛紜，由於每一組鍵值對(Key-Value)在Redis資料庫中都是唯一的存在，為了區別不同類別、不同層級、或是不同用戶的資料，常見的方式是透過**冒號「:」**&#x52A0;以區別，因此你的Key名稱可能會規劃&#x6210;**`'{類別}:{層級}:{欄位}'`** 或&#x662F;**`{專案}:{模組}:{用戶}'`**，每一個工程師命名的方式可能不盡相同，建議公司內部能夠有一套規範或標準。

另外，Key名稱的長度不建議為了清楚區分而用了過長的名稱，也不建議為了容量而名稱過短導致無法區分，必要時以大家都能清楚區分的**縮寫**，並建議不超過5個階層，甚至能夠有一份Redis名稱規範的文件，日後才不會因為Key名稱重複導致衝突，長久下來也會更容易維護。

![Detail of String Structure](https://224613336-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mb64kSCne8LKJiDOD49%2F-Mcn0HpEr6jWqoeUUfT9%2F-Mcn4SIpgY62bOu7AiAV%2Fstring%20detail.png?alt=media\&token=5a37285d-2411-4aec-8bfd-4d17464f2fe2)

![Example of sdshdr](https://224613336-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mb64kSCne8LKJiDOD49%2F-Mcn0HpEr6jWqoeUUfT9%2F-Mcn5EPNHhpJPokeXKq2%2Fstring%20buf.png?alt=media\&token=836cc154-009d-4db2-9f7f-9330f5d48dab)







