日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis数据类型--字符串类型

發布時間:2024/9/27 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis数据类型--字符串类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

夫陶公清風千古,余又何人,敢稱庶幾


文章目錄

    • 介紹
      • 一、基本命令
        • 1. 賦值與取值
        • 2. 遞增數字
      • 二、命令進階
        • 1. 增加指定的整數
        • 2. 減少指定的整數
        • 3. 增加指定浮點數
        • 4. 向尾部追加值
        • 5. 獲取字符串長度
        • 6. 同時獲得/設置多個鍵值
        • 7. 位操作

介紹

字符串類型是Redis中最基本的數據類型,他能存儲任何形式的字符串,包括二進制數據,一個字符串類型鍵允許存儲的數據的最大容量是512MB。

一、基本命令

命令解釋
SET key value設置字段值
GET key獲取字段值
INCR key遞增數字

1. 賦值與取值

賦值: SET key value
取值:GET key

127.0.0.1:6379> set name breez OK 127.0.0.1:6379> get name "breez" 127.0.0.1:6379> get other (nil) 127.0.0.1:6379>

注:當鍵不存在時會返回空(nil)

實踐:使用Java操作Redis數據庫:SET
導入maven依賴:

<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.5.1</version> </dependency> @Testpublic void testSTRING(){Jedis jedis = new Jedis("127.0.0.1");String s = jedis.set("name", "清風");System.out.println("返回值:"+s);String name = jedis.get("name");System.out.println("name:"+name);} 返回值:OK name:清風

2. 遞增數字

INCR key

讓當前鍵值遞增,并返回遞增后的值。

例:

127.0.0.1:6379> incr num (integer) 1 127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3

如果鍵值不是整數時,會提示錯誤

127.0.0.1:6379> set n str OK 127.0.0.1:6379> incr n (error) ERR value is not an integer or out of range 127.0.0.1:6379> set n2 1 OK 127.0.0.1:6379> incr n2 (integer) 2 127.0.0.1:6379> incr n2 (integer) 3 127.0.0.1:6379> incr n2 (integer) 4 127.0.0.1:6379>

從上可知n不是整數,而是一個字符串,n2是一個整數

實踐:使用Java操作Redis數據庫:INCR

@Testpublic void testINCR(){Jedis jedis = new Jedis("127.0.0.1");Long num1 = jedis.incr("num");Long num2 = jedis.incr("num");Long num3 = jedis.incr("num");System.out.println("執行三次后的值:"+num3);} 執行三次后的值:3

二、命令進階

命令解釋
INCRBY key increment增加指定的整數
DECR key減少整數
DECRBY key decrement減少指定的整數
INCRBYFLOAT key increment增加指定的浮點數
APPEND key value向尾部追加值
STRLEN key獲取字符串長度
MGET key [key …]同時設置多個鍵值
MSET key value [key value …]同時獲取多個鍵的值
GETBIT key offest獲取鍵指定的位號對應的二進制數(0或1)
SETBIT key offest value設置鍵指定位號的二進制數(0或1)
BITCOUNT key [start][end]統計指定字節范圍
BITOP operation destkey key [key …]對多個字符串類型鍵進行位運算

1. 增加指定的整數

INCRBY key increment

INCRBY 命令和INCR 命令一樣,區別是前者可以通過increment參數指定一次增加的數值
例:

127.0.0.1:6379> incrby num 2 (integer) 2 127.0.0.1:6379> incrby num 2 (integer) 4 127.0.0.1:6379> incrby num 2 (integer) 6 127.0.0.1:6379>

實踐:使用Java操作Redis數據庫:INCRBY

@Testpublic void testINCRBY(){Jedis jedis = new Jedis("127.0.0.1");jedis.incrBy("num",2);jedis.incrBy("num",2);Long num = jedis.incrBy("num", 2);System.out.println("執行三次后的結果:"+num);} 執行三次后的結果:6

2. 減少指定的整數

DECR key
DECR key increment

用法與INCR命令相同,只不過是讓鍵值遞減
例:

  • DECR
127.0.0.1:6379> set num 10 OK 127.0.0.1:6379> decr num (integer) 9 127.0.0.1:6379> decr num (integer) 8 127.0.0.1:6379> decr num (integer) 7

實踐:使用Java操作Redis數據庫:DECR

@Testpublic void testDECR(){Jedis jedis = new Jedis("127.0.0.1");jedis.set("num","10");System.out.println("初始值:"+jedis.get("num"));jedis.decr("num");jedis.decr("num");Long num = jedis.decr("num");System.out.println("遞減3次后的值:"+num);} 初始值:10 遞減3次后的值:7
  • DECRBY
127.0.0.1:6379> set num 10 OK 127.0.0.1:6379> decrby num 3 (integer) 7 127.0.0.1:6379> decrby num 3 (integer) 4 127.0.0.1:6379> decrby num 3 (integer) 1 127.0.0.1:6379> decrby num 3 (integer) -2

實踐:使用Java操作Redis數據庫:DECRBY

@Testpublic void testDECRBY(){Jedis jedis = new Jedis("127.0.0.1");jedis.set("num","10");System.out.println("初始值:"+jedis.get("num"));jedis.decrBy("num",3);jedis.decrBy("num",3);Long num = jedis.decrBy("num", 3);System.out.println("遞減3次后的值:"+num);} 初始值:10 遞減3次后的值:1

3. 增加指定浮點數

INCRBYFLOAT key increment

遞增一個雙精度浮點數

127.0.0.1:6379> incrbyfloat num 2.6 "2.6" 127.0.0.1:6379> incrbyfloat num 2.6 "5.2" 127.0.0.1:6379> incrbyfloat num 2.6 "7.800000000000001" 127.0.0.1:6379> incrbyfloat num 2.6 "10.4"

實踐:使用Java操作Redis數據庫:INCRBYFLOAT

@Testpublic void testINCRBYFLOAT(){Jedis jedis = new Jedis("127.0.0.1");jedis.incrByFloat("num",2.6);jedis.incrByFloat("num",2.6);jedis.incrByFloat("num",2.6);Double num = jedis.incrByFloat("num", 2.6);System.out.println("遞增4次后的結果:"+num);} 遞增4次后的結果:10.4

4. 向尾部追加值

APPEND key value

該命令的作用是向一個鍵尾部追加值,如果該鍵不存在,則設置為默認值:value,相當于set key value,返回值是追加后字符串的總長度。
例:

127.0.0.1:6379> set key hello OK 127.0.0.1:6379> append key world (integer) 10 127.0.0.1:6379> get key "helloworld" 127.0.0.1:6379> append key " breez" (integer) 17 127.0.0.1:6379> get key "helloworld breez"

注意:如果需要添加空格,需要對字符串添加雙引號

實踐:使用Java操作Redis數據庫:APPEND

@Testpublic void testAPPEND(){Jedis jedis = new Jedis("127.0.0.1");jedis.set("key","hello");System.out.println("追加前:"+jedis.get("key"));jedis.append("key","world");System.out.println("追加后:"+jedis.get("key"));} 追加前:hello 追加后:helloworld

5. 獲取字符串長度

STRLEN key

STRLEN命令返回鍵的長度,如果鍵不存在則返回0.
例:

127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> strlen key (integer) 0 127.0.0.1:6379> set key breez OK 127.0.0.1:6379> strlen key (integer) 5

實踐:使用Java操作Redis數據庫:STRLEN

@Testpublic void testSTRLEN(){Jedis jedis = new Jedis("127.0.0.1");Set<String> keys = jedis.keys("*");System.out.println("緩存中所有的鍵:");System.out.println(keys);jedis.set("key","breez");String key = jedis.get("key");Long strlen = jedis.strlen("key");System.out.println(key+"的長度為:"+strlen);} 緩存中所有的鍵: [] breez的長度為:5

6. 同時獲得/設置多個鍵值

  • MGET

MGET key [ key …]

  • MSET

MSET key value [key value …]

注意:MGET/MSET 與GET/SET 相似,但是前者可以設置多個鍵的鍵值。

例:

127.0.0.1:6379> mset name breez age 22 sex male OK 127.0.0.1:6379> keys * 1) "sex" 2) "name" 3) "age" 127.0.0.1:6379> mget name age sex 1) "breez" 2) "22" 3) "male"

實踐:使用Java操作Redis數據庫:MSETAndMGET

@Testpublic void testMSETAndMGET(){Jedis jedis = new Jedis("127.0.0.1");jedis.mset(new String[]{"name","breez","age","22","sex","male"});List<String> mget = jedis.mget(new String[]{"name","age","sex"});System.out.println(mget);} [breez, 22, male]

7. 位操作

GETBIT key offset
SETBIT key offset value
BITCOUNT key [start][end]
BITOP operation destkey key [key …]


Redis中文官方網站:http://www.redis.cn


未完待續,持續更新中...

總結

以上是生活随笔為你收集整理的Redis数据类型--字符串类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。