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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Redis的简单实践

發(fā)布時(shí)間:2025/3/21 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis的简单实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Redis的簡(jiǎn)單實(shí)踐

文章目錄

  • Redis的簡(jiǎn)單實(shí)踐
    • 前言
    • Redis簡(jiǎn)介
    • Redis基本操作命令
    • Java使用Redis
      • 使用IDEA搭建Redis項(xiàng)目
      • 使用Jedis進(jìn)行簡(jiǎn)單增刪改查
      • 使用Jedis操作對(duì)象

前言

在進(jìn)行 Redis 的操作之前,請(qǐng)確保電腦上已經(jīng)安裝了 Redis。

如果還沒(méi)有安裝 Redis 的,請(qǐng)參考這篇博客進(jìn)行安裝 Win10安裝Redis

Redis簡(jiǎn)介

Redis 是一個(gè)高性能的 key-value 分布式內(nèi)存數(shù)據(jù)庫(kù),基于內(nèi)存運(yùn)行,并支持持久化的 NoSQL 數(shù)據(jù)庫(kù)。

Redis 是運(yùn)行在內(nèi)存中的,所以讀寫(xiě)速度非常快,因此 Redis 被廣泛應(yīng)用在緩存方向

Redis的優(yōu)點(diǎn):

  • 速度快,因?yàn)閿?shù)據(jù)存在內(nèi)存中
  • 支持豐富的數(shù)據(jù)類型,支持 String、list、set、sorted set、hash
  • 支持事務(wù),操作都是原子性的
  • 特性豐富,可用于緩存、消息。按 key 設(shè)置過(guò)期時(shí)間,到期自動(dòng)刪除
  • 支持主從復(fù)制,進(jìn)行讀寫(xiě)分離
  • 支持?jǐn)?shù)據(jù)持久化,支持 AOF、RDB 兩種方式
  • Redis的應(yīng)用場(chǎng)景:

    • 熱點(diǎn)數(shù)據(jù)的緩存
    • 限時(shí)業(yè)務(wù)的應(yīng)用
    • 分布式鎖
    • 延時(shí)操作
    • 分頁(yè)、模糊查找
    • ······

    Redis基本操作命令

    命令說(shuō)明
    set KeyName Value設(shè)置 key 和 value 的值’
    get KeyName獲取對(duì)應(yīng)鍵的值
    keys *獲取所有的鍵(注意空格
    dbsize獲取所有鍵的數(shù)量
    exists KeyName檢查鍵是否存在
    del KeyName刪除鍵
    type KeyName查看鍵的類型
    expire KeyName 60設(shè)置鍵的過(guò)期時(shí)間為60秒
    persist KeyName設(shè)置鍵永不過(guò)期
    rename KeyName NewKeyName修改鍵的名字
    sadd CollectionName xx1 xx2 xx3創(chuàng)建集合
    smembers CollectionName獲取集合
    sismember CollectionName xx判斷集合中是否存在xx元素
    scard CollectionName獲取集合中元素的個(gè)數(shù)
    srem CollectionName xx刪除集合中的xx元素

    根據(jù)前言中的參考博客所述,通過(guò) cmd 打開(kāi) redis 服務(wù),可以在命令行中練習(xí)以上操作命令,以求掌握,這里就不貼圖做演示了。

    Java使用Redis

    使用IDEA搭建Redis項(xiàng)目

    使用 IDEA創(chuàng)建 Redis 項(xiàng)目分為六步:

  • 創(chuàng)建一個(gè)新項(xiàng)目
  • 選擇“Maven”
  • 填寫(xiě)項(xiàng)目路徑
  • 檢查項(xiàng)目信息
  • 等待項(xiàng)目構(gòu)建成功
  • 導(dǎo)入相關(guān)依賴
  • 首先,我們打開(kāi) IDEA,創(chuàng)建一個(gè)新項(xiàng)目。

    在左側(cè)選擇“Maven”,Project SDK選擇為自己的 JDK安裝目錄,勾選“Create form archetype”,選擇“quickstart”快速啟動(dòng)的工程,點(diǎn)擊 next。

    然后我們填寫(xiě)項(xiàng)目名稱,選擇自己喜歡的路徑,點(diǎn)擊 next。

    接著我們要檢查項(xiàng)目信息,看看包名什么的是否需要修改。這里一般都是采用默認(rèn)設(shè)置,直接 finish 即可。

    等待項(xiàng)目加載完成。如果IDEA界面的右下角彈出提示 Maven項(xiàng)目需要導(dǎo)入,選擇“Enable Auto-Import”讓其自動(dòng)導(dǎo)入。

    如果項(xiàng)目加載完成后看到了如下警告,可以忽略不管,這不會(huì)影響到項(xiàng)目的使用

    項(xiàng)目構(gòu)建完成,我們打開(kāi) pom.xml 文件,導(dǎo)入 redis 的相關(guān)依賴。這里導(dǎo)入了 Jedis 的依賴、阿里的一個(gè) json 處理類

    <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.3.0</version> </dependency> <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version> </dependency>

    這兩個(gè)依賴導(dǎo)入完成后,整個(gè)項(xiàng)目就搭建完成了,我們可以開(kāi)始使用了。

    使用Jedis進(jìn)行簡(jiǎn)單增刪改查

    Jedis是 Redis 官方推薦的 Java 連接開(kāi)發(fā)工具。對(duì) Jedis的熟練使用可以讓我們?cè)?Java 開(kāi)發(fā)中使用好 Redis 中間件。

    我們新建一個(gè) util 目錄,在目錄下新建一個(gè) RedisUtil 工具類,用于獲取 Redis 的連接。

    import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;public class RedisUtil {//定義連接池和對(duì)象public static JedisPoolConfig poolConfig = new JedisPoolConfig();public static JedisPool jedisPool = null;public static Jedis jedis = null;static {//簡(jiǎn)單配置poolConfig.setMaxIdle(50);//最大空閑數(shù)poolConfig.setMaxTotal(100);//最大連接數(shù)poolConfig.setMaxWaitMillis(20000);//最長(zhǎng)等待時(shí)間(毫秒)//進(jìn)行連接jedisPool = new JedisPool(poolConfig, "127.0.0.1");//獲取jedis對(duì)象jedis = jedisPool.getResource();} }

    因?yàn)槲覀兪菍?redis 裝在了本機(jī)電腦上,所以配置連接池時(shí)直接使用的是 127.0.0.1 ,如果是裝在服務(wù)器上的,更換為服務(wù)器的IP地址。

    當(dāng)然,我們需要通過(guò) cmd 窗口啟動(dòng) redis 的服務(wù),不然運(yùn)行 java 代碼會(huì)報(bào)錯(cuò)

    接著我們新建一個(gè) run 目錄, 在目錄下新建 JedisTest 類來(lái)進(jìn)行操作

    import org.example.util.RedisUtil; import redis.clients.jedis.Jedis;public class JedisTest {Jedis jedis = RedisUtil.jedis;//增public void setKeyValue(String key, String value) {jedis.set(key, value);}//查public String getKeyValue(String key) {return jedis.get(key);}//刪public void delKey(String key) {jedis.del(key);}//改public void updateKey(String oldKey, String newKey) {jedis.rename(oldKey, newKey);}public static void main(String[] args) {JedisTest jedisTest = new JedisTest();//設(shè)置鍵值對(duì)jedisTest.setKeyValue("test1", "hello");jedisTest.setKeyValue("test2", "hello2");//取值String v1 = jedisTest.getKeyValue("test1");String v2 = jedisTest.getKeyValue("test2");System.out.println("test1:"+v1+"\ntest2:"+v2);System.out.println("\n");//刪除jedisTest.delKey("test2");String v3 = jedisTest.getKeyValue("test2");System.out.println("test2:"+v3);System.out.println("\n");//改名jedisTest.updateKey("test1","mytest");String v4 = jedisTest.getKeyValue("test1");String v5 = jedisTest.getKeyValue("mytest");System.out.println("test1:"+v4+",mytest:"+v5);} }

    運(yùn)行 main 方法,可以看到,我們已經(jīng)成功插入了鍵值對(duì),刪改查也成功實(shí)現(xiàn)。

    使用Jedis操作對(duì)象

    我們之前使用的都是 String 類型,現(xiàn)在我們要通過(guò) jedis 來(lái)傳入對(duì)象。

    新建一個(gè) pojo 目錄,在目錄下新建 User 類,實(shí)現(xiàn)構(gòu)造函數(shù)和 Get and Set 方法。

    public class User {private String name;private String school;private int age;public User() {}public User(String name, String school, int age) {this.name = name;this.school = school;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSchool() {return school;}public void setSchool(String school) {this.school = school;}public int getAge() {return age;}public void setAge(int age) {this.age = age;} }

    在 run 目錄中新建一個(gè) UserTest 類,實(shí)現(xiàn)對(duì)象的存儲(chǔ)和查詢

    import com.alibaba.fastjson.JSON; import org.example.pojo.User; import org.example.util.RedisUtil; import redis.clients.jedis.Jedis;public class UserTest {Jedis jedis = RedisUtil.jedis;//增public void setObject(String key, Object obj) {jedis.set(key, JSON.toJSONString(obj));}//查public Object getObject(String key, Class clazz) {return JSON.parseObject(jedis.get(key), clazz);}public static void main(String[] args) {UserTest userTest = new UserTest();//設(shè)置對(duì)象User user = new User("Bob", "BIT", 20);//進(jìn)行存取userTest.setObject("user", user);User user2 = (User) userTest.getObject("user", User.class);System.out.println("name:"+user2.getName());System.out.println("school:"+user2.getSchool());System.out.println("age:"+user2.getAge());} }

    這里因?yàn)?value 必須是字符串或者是數(shù)組,我們要傳入對(duì)象的話得通過(guò) JSON 的 toJSonString() 方法把對(duì)象轉(zhuǎn)換為字符串。同樣地,取出的時(shí)候也要使用 parseObject() 方法轉(zhuǎn)換成對(duì)象才行

    運(yùn)行 main 方法,可以看到,我們已經(jīng)成功實(shí)現(xiàn)了對(duì)象的存取。

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的Redis的简单实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品乱码一区内射人妻无码 | 亚洲国产精品一 | 久久免费激情视频 | 午夜精 | 久久精品国内 | 久久精品国产亚洲av嫖农村妇女 | √天堂资源地址在线官网 | 乱精品一区字幕二区 | 九色丨蝌蚪丨成人 | 欧美成人国产精品一区二区 | 日韩a级在线观看 | 一卡二卡三卡在线视频 | 中文字幕一区二区人妻 | 日本少妇xxxxxx | youjizzxxx69 | 密臀久久| 日本乱码视频 | 青青成人网 | 亚洲中文字幕第一区 | 午夜免费福利影院 | 久久人人爽天天玩人人妻精品 | 香港av在线| 不卡一区二区在线视频 | 亚洲国产美女视频 | 碰碰97 | 视频在线国产 | 日本在线视频中文字幕 | 黄色av网址在线 | 欧美日韩国产片 | 亚洲欧美日韩成人在线 | 午夜免费一区 | 深夜福利免费观看 | 五月色综合 | 日本小视频网站 | 三级全黄做爰龚玥菲在线 | 国产99久久 | 91av官网| 国产一区二区精品在线观看 | 国产精品www| 久草视频这里只有精品 | 懂色av一区二区三区四区 | 爱搞逼综合网 | 精品人伦一区二区三电影 | 日本三级片在线观看 | 亚洲一区二区中文字幕 | 久一国产| 国产日韩在线免费观看 | 亚洲综合中文 | 中文日韩 | 手机在线观看毛片 | 中文字幕影院 | 毛片免费一区二区三区 | 色中文字幕在线观看 | 亚洲天堂黄色 | 天堂网中文在线观看 | 欧美日本久久 | 韩国黄色av| 成都电影免费大全 | 一级美女黄色片 | 国内精品第一页 | 免费av免费看 | 99久免费精品视频在线观78 | 久久人人做| 性久久 | 日韩成人av一区 | 一区二区三区黄色录像 | 成人片黄网站久久久免费 | av网址网站 | 懂爱av| 亚洲AV无码乱码国产精品牛牛 | 大桥未久恸哭の女教师 | 日本高清网色 | 日韩精品无码一区二区三区 | 激情五月综合色婷婷一区二区 | 国产乱子一区二区 | 三级黄色生活片 | 亚洲精品在线观看免费 | 91精品视频在线免费观看 | 国产精品无码粉嫩小泬 | av一道本| 成人在线视频一区二区三区 | 九色国产在线 | 亚洲视频免费播放 | 亚洲区 欧美区 | 另类视频在线观看 | 久久免费毛片 | 一级黄色片毛片 | 啪视频网站 | 亚洲天堂男 | 免费观看成人毛片 | 性爱动漫| 欧美第一视频 | 2020自拍偷拍 | 天天爽夜夜爽夜夜爽精品视频 | 亚洲第一色播 | 911av| 国产精品一区二区三 | 久草视频免费播放 | 国内毛片毛片毛片毛片毛片 |