Redis_基礎

在這里插入圖片描述

Redis 命令啟動、配置密碼

Redis是綠色軟件,所以直接解壓就能使用
配置文件為:redis.windows.conf
啟動redis 服務:

redis-server.exe redis.windows.conf

啟動客戶端:

redis-cli.exe

默認沒有給Redis配置密碼,所以在配置文件中配置密碼

將密碼設置為123456
# requirepass foobared改成
requirepass 123456

重新啟動服務端,登錄客戶端的時候加上 -a 密碼來登錄;項目中就不用密碼了

redis-server.exe redis.windows.conf -h localhost -p 6379 -a 123456

存放數據類型

在這里插入圖片描述

Redis常用命令

String

在這里插入圖片描述
SETEX為驗證碼場景
SETNX集群互斥

哈希

在這里插入圖片描述

列表

在這里插入圖片描述

集合

在這里插入圖片描述

有序集合

在這里插入圖片描述

通用命令

在這里插入圖片描述

在Spring中使用Redis

導入坐標、配置數據源、配置類

在這里插入圖片描述
在這里插入圖片描述
redis實際上是創建了16個數據庫,互相隔離;這里寫索引為0-15
在這里插入圖片描述
在這里插入圖片描述

操作String類型數據

使用注入的RedisTemplate
在這里插入圖片描述
在這里插入圖片描述

注意代碼中使用的函數不是以之前命令的名稱進行命名的

我們之前使用了String的序列化器,那么在redis的客戶端中,key是沒有亂碼的;但是值有亂碼;
在這里插入圖片描述

Hash操作

在這里插入圖片描述

列表(list)類數據:

@Test
public void testList(){//Lpush lrange rpop llenListOperations listOperations = redisTemplate.opsForList();listOperations.leftPushAll("mylist","a","b","c"); //lpush多個valuelistOperations.leftPush("mylist","d"); //lpush單個valueList mylist = listOperations.range("mylist",0,-1); //lrangeSystem.out.println(mylist);listOperations.rightPop("mylist"); //rpopLong size = listOperations.size("mylist"); //llenSystem.out.println(size);
}

集合類數據:

@Test
public void testSet(){//sadd smembers scard sinter sunion sremSetOperations setOperations = redisTemplate.opsForSet();setOperations.add("set1","a","b","c","d"); //saddsetOperations.add("set2","a","b","x","y");Set members = setOperations.members("set1"); //smembersSystem.out.println(members);Long size = setOperations.size("set1"); //scardSystem.out.println(size);Set intersect = setOperations.intersect("set1","set2"); //sinter取交集System.out.println(intersect);Set union = setOperations.union("set1","set2"); //sunion取并集System.out.println(union);setOperations.remove("set1","a","b"); //srem
}

有序集合類數據:

@Test
public void testZset(){//zadd zrange zincrby zremZSetOperations zSetOperations = redisTemplate.opsForZSet();zSetOperations.add("zset1","a",10); //zaddzSetOperations.add("zset2","b",12);zSetOperations.add("zset1","c",9);Set zset1 = zSetOperations.range("zset1",0,-1); //zrangeSystem.out.println(zset1);zSetOperations.incrementScore("zset1","c",10); //zincrbyzSetOperations.remove("zset1","a","b"); //zrem
}

通用命令

@Test
public void testCommon(){//keys exists type delSet keys = redisTemplate.keys("*"); //keysSystem.out.println(keys);Boolean name = redisTemplate.hasKey("name"); //existsBoolean set1 = redisTemplate.hasKey("set1");for(Object key : keys){DataType type = redisTemplate.type(key); //typeSystem.out.println(type.name());}redisTemplate.delete("mylist"); //del
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895919.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895919.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895919.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡通信基礎:端口、協議和七層模型詳解,網絡安全零基礎入門到精通實戰教程!

一、端口和協議的概念 1.在網絡技術中,端口(Port) 大致有兩種意思: 一是物理意義上的端口,比如,ADSL Modem、集線器、交換機、路由器用于連接其他網絡設備的接口,如RJ-45端口、SC端口等等。 二是邏輯意義上的端口&…

Bug:Goland debug失效詳細解決步驟【合集】

Bug:Goland debug失效詳細解決步驟【合集】 今天用Goland開發時,打斷點,以debug方式運行,發現程序并沒有斷住,程序跳過了斷點,直接運行結束。網上搜尋了大量文章,最后得以解決,特此在…

pycharm社區版有個window和arm64版本,到底下載哪一個?還有pycharm官網

首先pycharm官網是這一個。我是在2025年2月16日9:57進入的網站。如果網站還沒有更新的話,那么就往下滑一下找到 community Edition,這個就是社區版了免費的。PyCharm:適用于數據科學和 Web 開發的 Python IDE 適用于數據科學和 Web 開發的 Python IDE&am…

WordPress Ai插件:支持提示詞生成文章和chat智能對話

源碼介紹 適用于 WordPress 的 AI 助手開源免費插件展開介紹,包含插件功能、使用說明、注意事項等內容,為 WordPress 用戶提供了一個集成多種 AI 模型的工具選擇。 插件概述:插件名稱為小半 WordPress AI 助手,支持多種 AI 模型&…

Spring Boot02(數據庫、Redis)---java八股

數據庫相關 Mybatis的優缺點 優點: 基于 SQL 語句編程,相當靈活,不會對應用程序或者數據庫的現有設計造成任何影響,SQL 寫在 XML 里,解除 sql 與程序代碼的耦合,便于統一管理;提供 XML 標簽&am…

【LeetCode】LCR 139. 訓練計劃 I

題目 教練使用整數數組 actions 記錄一系列核心肌群訓練項目編號。為增強訓練趣味性,需要將所有奇數編號訓練項目調整至偶數編號訓練項目之前。請將調整后的訓練項目編號以 數組 形式返回。 示例 1: 輸入:actions [1,2,3,4,5] 輸出&#…

波導陣列天線 學習筆記9 使用緊湊高效率饋網的寬帶圓極化陣列天線

摘要: 一種寬帶圓極化波導陣列天線在本文中提出。所提出的陣列天線包括四個反向對稱的(antipodally)脊單元和一個有著插入階梯腔體的兩個正交膜片的緊湊型饋網。兩個器件都是寬帶的并且它們能獨立地或者一起工作。所提出的拓撲給出了一種為大規模陣列的基礎的2x2波導…

【AI戰略思考15】我對做自媒體視頻博主的初步探索和一些思考

【AI論文解讀】【AI知識點】【AI小項目】【AI戰略思考】【AI日記】【讀書與思考】【AI應用】 導言 因為自己找工作可能沒那么快和順利,事實是比我之前想象的要難很多,所以這幾天探索了下自己能否嘗試做自媒體或者視頻博主來嘗試賺點錢,如果做…

nodejs:express + js-mdict 網頁查詢英漢詞典,能顯示圖片

向 DeepSeek R1 提問: 我想寫一個Web 前端網頁,后臺用 nodejs js-mdict , 實現在線查詢英語單詞,并能顯示圖片 1. 項目結構 首先,創建一個項目目錄,結構如下: mydict-app/ ├── public/ │ ├── …

【數據分析】2.數據分析業務全流程

業務流程方法論:3階段6步驟 一、課程核心內容結構 1. 方法論概述 目標:系統性地解決商業中的關鍵問題框架:分為三個階段,每個階段包含兩個步驟適用場景:適用于數據分析師、業務經理等需要通過數據分析支持決策的從業…

【后端】k8s

1. 命令 1.1 獲取service服務 獲取集群內所有命名空間的service服務 sudo kubectl get service --all-namespaces 獲取集群內指定命名空間的service服務 sudo kubectl get service -n命名空間 當權限限制到一個命名空間時,只能使用下面這個 sudo kubectl -n 命名空間 get se…

Mybatis MyBatis框架的緩存 一級緩存

1. 緩存的概念 緩存的概念 在內存中臨時存儲數據,速度快,可以減少數據庫的訪問次數。經常需要查詢,不經常修改的數據,不是特別重要的數據都適合于存儲到緩存中。 2.Mybatis緩存 mybatis包含了一個非常強大的查詢緩存特性&#…

Linux csplit 命令實現日志文件的拆分

目錄 一. 項目背景二. 通過 csplit 命令按照行數進行切割2.1 步驟分解驗證2.2 直接拆分 三. 文件合并后與原文件進行diff3.1 通過 sed 命令進行合并3.2 通過 cat 命令進行合并 一. 項目背景 ?需要的問題 項目中需要獲取某個war產生的log文件,由于是商用環境的log…

【EndNote】WPS 導入EndNote 21

寫在前面:有沒有人有激活碼,跪求! EndNote,在文獻管理和文獻引用方面很好用。寫文章的時候,使用EndNote引入需要的文獻會很方便。我目前用的WPS,想把EndNote的CWYW(Cite While You Write&#…

嵌入式0xDEADBEEF

在嵌入式系統中,0xDEADBEEF 是一個常見的“魔數”(magic number),通常用于調試和內存管理。它的含義和用途如下: 1. 調試用途 未初始化內存的標記:在調試時,0xDEADBEEF 常用于標記未初始化或已…

RT-Thread+STM32L475VET6實現紅外遙控實驗

文章目錄 前言一、板載資源介紹二、具體步驟1. 確定紅外接收頭引腳編號2. 下載infrared軟件包3. 配置infrared軟件包4. 打開STM32CubeMX進行相關配置4.1 使用外部高速時鐘,并修改時鐘樹4.2 打開定時器16(定時器根據自己需求調整)4.3 打開串口4.4 生成工程 5. 打開HW…

【HarmonyOS Next】鴻蒙應用進程和線程詳解

【HarmonyOS Next】鴻蒙應用進程和線程詳解 一、前言 進程的定義: 進程是系統進行資源分配的基本單位,是操作系統結構的基礎。 在鴻蒙系統中,一個應用下會有三類進程: (1) 主進程, (2) ExtensionAbility進程&#xff…

迪威模型網:免費暢享 3D 打印盛宴,科技魅力與趣味創意并存

還在為尋找優質3D打印模型而發愁?快來迪威模型網(https://www.3dwhere.com/),一個集前沿科技與無限趣味于一體的免費3D打印寶藏平臺! 踏入迪威模型網,仿佛開啟一場未來科技之旅。其“3D打印”專區&#xff…

力扣LeetCode: 1287 有序數組中出現次數超過25%的元素

題目: 給你一個非遞減的 有序 整數數組,已知這個數組中恰好有一個整數,它的出現次數超過數組元素總數的 25%。 請你找到并返回這個整數 示例: 輸入:arr [1,2,2,6,6,6,6,7,10] 輸出:6提示: …

一文看常見的消息隊列對比

一、核心特性對比表 維度KafkaRabbitMQRocketMQPulsar架構設計分布式日志系統,依賴ZooKeeper基于AMQP協議的代理模型主從架構NameServer協調分層架構(BrokerBookKeeper)單機吞吐量100萬 TPS5萬 TPS50萬 TPS150萬 TPS消息延遲毫秒級&#xff…