redis

Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù).

官網(wǎng):https://redis.io/
最新穩(wěn)定版已經(jīng)更新到4.0.10,但是官方?jīng)]有windows版本下載。
windows版本: https://github.com/MicrosoftArchive/redis/releases
github上有個(gè)windows版本3.2.100,由微軟維護(hù)的,目前已不更新。
g友 redis4 : https://github.com/tporadowski/redis/releases
這是 Redis 4.0.2.2 for Windows (alpha)

安裝

windows:

下載
這里選擇的是3.2.100版本



安裝過(guò)程會(huì)提示輸入端口(默認(rèn)6379),和設(shè)置最大內(nèi)存...
下一步....完成。
完成后,會(huì)自動(dòng)配置到系統(tǒng)服務(wù),并且是已經(jīng)啟用的狀態(tài)。

檢測(cè)是否安裝成功:
命令行 輸入 redis-cli 即可進(jìn)入交互模式。(安裝時(shí)需勾選配置到環(huán)境變量,否則需要手動(dòng)配置。)

Linux:

apt-get install redis-server
命令行輸入:redis-cli 即可進(jìn)入交互模式

配置文件一般在 /etc/redis/redis.conf
修改配置后, service redis restart
若設(shè)置密碼后,需要 redis-cli -a 密碼 才可進(jìn)入。

連接遠(yuǎn)程 redis 服務(wù):
命令行:redis-cli -h HOST -p PORT -a password
如果上面的方式連接不到服務(wù)端,請(qǐng)參照下圖確認(rèn):


啟動(dòng),停止,重啟服務(wù):
/etc/init.d/redis-server start(stop)(restart)

可視化工具 Redis Desktop Manager

https://github.com/uglide/RedisDesktopManager/releases

redis-py

安裝:pipenv install redis

基本使用:


關(guān)于set:


基礎(chǔ)

Redis一共支持五種數(shù)據(jù)類(lèi)型:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

以下操作,基于命令行下的原始操作,可能在redis-py中有個(gè)別不同。

輸入 info 查看redis內(nèi)存情況

keys的命名

\n和空格 不能作為key的組成部分,key的長(zhǎng)度不限。

keys的操作
  • select db-index
    選擇數(shù)據(jù)庫(kù),默認(rèn)編號(hào)是0-15,共16個(gè)
  • keys *
    查看當(dāng)前數(shù)據(jù)庫(kù)所有的key
  • del key1 key2……keyN
  • flushdb
    刪除當(dāng)前數(shù)據(jù)庫(kù)的所有key
  • flushall
    刪除redis里的所有數(shù)據(jù)庫(kù)的所有key
  • rename oldkey newkey
  • expire key seconds
    設(shè)置key的過(guò)期時(shí)間。
  • move key db-index
    將key 從當(dāng)前數(shù)據(jù)庫(kù)移動(dòng)到指定數(shù)據(jù)庫(kù)
  • exists key
    測(cè)試key是否存在
  • type key
    返回key的類(lèi)型,默認(rèn)是str。
  • keys pattern
    返回匹配指定模式的所有key
  • dbsize
    返回當(dāng)前數(shù)據(jù)庫(kù)的key數(shù)量
  • ttl key
    返回key的剩余過(guò)期秒數(shù)。
str類(lèi)型
  • set key value
    默認(rèn)情況,key不存在,則創(chuàng)建;存在,則覆蓋。
  • mset key1 value1 key2 value2……
    一次設(shè)置多對(duì)鍵值對(duì)。
  • incr key
    執(zhí)行一次加1。
  • decr key
    執(zhí)行一次減1。
  • incrby key integer
    執(zhí)行一次減少 指定的整數(shù)。
  • decrby key integer
    執(zhí)行一次加上 指定的整數(shù)。
  • append key value
    在key的后面添加字符。
  • get key
  • mget key1 key2 ……
    一次獲得多個(gè)key的值。
  • substr key start end
    截取key的值,包括開(kāi)始和結(jié)束位置的內(nèi)容。
list 類(lèi)型
  • lpush key string
    在key對(duì)應(yīng)list的頭部添加字符串元素。
  • rpush key string
    從右邊添加元素。
  • rpop key
    在key對(duì)應(yīng)list的尾部刪除元素,返回刪除的元素。
  • lpop key
    從左邊刪除元素, 返回刪除的元素。
  • llen key
    返回key的元素個(gè)數(shù)。
  • lrange key start end
    返回key指定區(qū)間內(nèi)的元素,包括開(kāi)始和結(jié)束。
  • ltrim key start end
    截取list,保留指定區(qū)間元素。
set 類(lèi)型
  • sadd key member1 member2……
    向key中添加集合元素。如果元素已經(jīng)存在,返回0
  • srem key member [,member2……]
    將member從key中刪除。
  • smove p1 p2 member
    將member從p1中移動(dòng)到p2中。
  • scard key
    返回key中的元素個(gè)數(shù)。
  • sismember key member
    判斷member是不是在key中,是返回1,不是返回0.
  • sinter key1 key2……
    返回所有給定key的交集。
  • sunion key1 key2……
    返回所有給定key的并集。
  • sdiff key1 key2……
    返回所有給定key的差集。
  • smembers key
    返回key中的所有元素。
Sorted Set排序集合類(lèi)型

和set一樣,sorted set也是string類(lèi)型元素的集合,不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè) 權(quán)(score)。通過(guò) 權(quán)值 可以有序的獲取集合中的元素。

  • zadd key score member
    添加元素到key,元素存在則更新對(duì)應(yīng)的score。
  • zrem key member
    刪除指定元素,成功返回1,如果元素不存在返回0.
  • zremrangebyrank key min max
    刪除集合中排名在指定區(qū)間的元素。包括min,和max。默認(rèn)score按從小到大排。
  • zincrby key incr member
    按照incr的幅度增加對(duì)應(yīng)的member的score值,返回score值。
  • zrank key member
    返回指定元素在集合中的排名(下標(biāo)),集合中的元素是按score從小到大排序的。
  • zrevrank key member
    同zrank,排序按score從大到小排序。
  • zrange key start end
    類(lèi)似lrange操作,從集合中取指定區(qū)間的元素,返回的是有序結(jié)果。
  • zrevrange key start end
    和zrange相反的操作。
  • zcard key
    返回key中的元素個(gè)數(shù)。
  • zscore key member
    返回key集合中指定元素的score。
hash類(lèi)型
  • hset key field value
    設(shè)置 hash field 為指定值,如果key不存在,則先創(chuàng)建。
  • hmset key field1 value1 field2 value2……
  • hdel key field
    刪除指定的field
  • hincrby key field integer
    將指定的hash field加上指定的值。
  • hget key field
    獲取指定的field的值。
  • hmget key field1 field2……
  • hexists key field
    判斷field是不是存在。
  • hlen key
    返回field 的數(shù)量。
  • hkeys key
    返回key中的所有field。
  • hvals key
    返回key中的所有value。
  • hgetall key
    返回key中的所有field和value。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容