<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 3. Ruby 客戶端 #### 1. 介紹 [clients](http://redis.io/clients)這里列出了redis所支持的語言的所有客戶端程序,其中就有ruby的。有這么多的客戶端,說明要實現redis的客戶端是不難的。其實你只要掌握一種語言的socket編程就可以實現的,比如ruby中的socket編程,本站會有相關的章節來單獨介紹在ruby中是如何進行socket編程的。redis是基于tcp/ip的通訊協議,也就是說有監聽的ip地址和端口號,只要通過一種語言創建socket連接到redis的服務器中,然后發送數據給redis服務器,從redis服務器那得到響應數據再返回,這樣就能通訊了,也就是一個客戶端。在這一篇文章我們會介紹幾種ruby語言實現的redis客戶端程序,也要介紹涉及到的相關的redis的技術。 #### 2. redis-rb [redis-rb](https://github.com/redis/redis-rb)是官方推薦的一個gem,它是線程安全的,支持管道,客戶端分片,且性能也比較好。 ##### 2.1 安裝 首先來安裝它。 ``` gem install redis ``` ##### 2.2 基本的使用 使用的時候,第一步是連接數據庫,進入`irb`。 ``` ? ~ irb > require "redis" true > redis = Redis.new #<Redis client v3.2.1 for redis://127.0.0.1:6379/0> ``` 這樣就生成了一個新的實例`redis`,`Redis.new`默認情況下是連接到本機(127.0.0.1),端口6379,也就是默認的端口,選擇的是第0個數據庫。 這樣的數據庫是什么意思呢?其實redis也是有數據庫的概念的,默認情況下redis會有16個數據庫,編號從0到15,當然這個數據庫的數量值是可以在配置文件中修改的。默認不指定數據庫的情況下,一般就是使用第0個數據庫。但是使用`SELECT`命令可以切換數據庫。數據庫相當于數據的隔離空間,只是用這個數據來標志隔離空間,就是沒有語義化,很難被記住。 比如我要連接另一臺機器上的redis服務器,可以這樣。 ``` redis = Redis.new(:host => "10.0.1.1", :port => 6380, :db => 15) ``` 現在連接好,我就可以發送請求的指令了。 ``` > redis.set("mykey", "hello world") "OK" > redis.get("mykey") "hello world" ``` 你可以用`redis-cli`工具查看是不是真的有鍵為`mykey'的值啦。 在官方readme文檔中列出的只有get和set兩個方法。但是redis-rb支持所有常見的redis指令。這些方法在源碼的其中一個文件[lib/redis/distributed.rb](https://github.com/redis/redis-rb/blob/master/lib/redis/distributed.rb)可被發現到。比如: ``` > redis.set :count, 12 "OK" > redis.incr :count 13 ``` ##### 2.3 Pipelining(管道) 管道是用于批量發送指令給redis服務器,當你需要發送很多的指令給redis服務器時,就可以用管道,畢竟你每條指令發送到服務器,再服務器回傳響應,都是需要時間的,而把所有指令合成一個管道一起發送,這樣就能大大地減少時間。比如: ``` redis.pipelined do redis.set "foo", "bar" redis.incr "baz" end ``` 關于管道的更多的詳細內容可以看官方文檔的這篇文章[pipelining](http://redis.io/topics/pipelining)。 除此之外,值得提的是[redis-rails](https://github.com/redis-store/redis-rails)和[redis-rack-cache](https://github.com/redis-store/redis-rack-cache)等gem都是基于redis-rb來實現的。 #### 3. redic [redic](https://github.com/amakawa/redic)是一個輕量級的客戶端,它是對[hiredis](https://github.com/redis/hiredis-rb)這個gem的封裝。而hiredis這個gem是redis的c客戶端[hiredis](https://github.com/redis/hiredis)的ruby實現,它不像`redis-rb`可能是通過socket連接到redis服務器的,它是能過C語言頭文件連接的,它是輕量級的,速度快,性能高。 要使用也是很簡單。 ``` redis = Redic.new redis.call("SET", "foo", "bar") ``` `redis = Redic.new`是連接到redis服務器,之后通過call命令調用redis的api。 它不像redis-rb那樣,封裝了很多能夠像操作redis那樣的方法,比如"expire"、"ttl"、"flushdb"等。 redic都是通過call這個指令來調用api的,比如 ``` redis.call("SUBSCRIBE", "foo") ``` 還有,[readthis](https://github.com/sorentwo/readthis)和[ost](https://github.com/soveran/ost)等gem都是基于redic實現的。 完結。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看