欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis簡單介紹及安裝使用小結

 更新時間:2018年11月12日 08:37:53   作者:leewillxlw  
本文主要是對于redis初步學習的小結內容,包括了redis介紹,redis安裝以及最簡單的使用,希望大家能夠喜歡

一:redis介紹

Redis和Memcached類似,也屬于k-v數(shù)據(jù)存儲
Redis官網redis.io, 當前最新穩(wěn)定版4.0.1
支持更多value類型,除了和string外,還支持hash、lists(鏈表)、sets(集合)和sorted sets(有序集合)
redis使用了兩種文件格式:全量數(shù)據(jù)(RDB)和增量請求(aof)。全量數(shù)據(jù)格式是把內存中的數(shù)據(jù)寫入磁盤,便于下次讀取文件進行加載。增量請求文件則是把內存中的數(shù)據(jù)序列化為操作請求,用于讀取文件進行replay得到數(shù)據(jù),這種類似于mysql binlog。
redis的存儲分為內存存儲、磁盤存儲和log文件三部分

二:redis安裝

下載最新穩(wěn)定版

cd /usr/local/src/
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
cd redis-4.0.1
make && make install
cp redis.conf /etc/redis.conf
vim /etc/redis.conf //修改如下配置
daemonize yes
logfile "/var/log/redis.log" 
dir /data/redis_data/
appendonly yes
mkdir /data/redis_data
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
redis-server /etc/redis.conf

三:redis持久化

Redis提供了兩種持久化的方式,分別是RDB(Redis DataBase)和AOF(Append Only File)
RDB,簡而言之,就是在不同的時間點,將redis存儲的數(shù)據(jù)生成快照并存儲到磁盤等介質上。
AOF,則是換了一個角度來實現(xiàn)持久化,那就是將redis執(zhí)行過的所有寫指令記錄下來,在下次redis重新啟動時,只要把這些寫指令從前到后再重復執(zhí)行一遍,就可以實現(xiàn)數(shù)據(jù)恢復了。
其實RDB和AOF兩種方式也可以同時使用,在這種情況下,如果redis重啟的話,則會優(yōu)先采用AOF方式來進行數(shù)據(jù)恢復,這是因為AOF方式的數(shù)據(jù)恢復完整度更高。
如果你沒有數(shù)據(jù)持久化的需求,也完全可以關閉RDB和AOF方式,這樣的話,redis將變成一個純內存數(shù)據(jù)庫,就像memcache一樣。

Redis持久化相關參數(shù)
save 900 1 #表示每15分鐘且至少有1個key改變,就觸發(fā)一次持久化
save 300 10 #表示每5分鐘且至少有10個key改變,就觸發(fā)一次持久化
save 60 10000 #表示每60秒至少有10000個key改變,就觸發(fā)一次持久
save “” #這樣可以禁用rdb持久化
appendonly yes #如果是yes,則開啟aof持久化
appendfilename “appendonly.aof” # 指定aof文件名字
appendfsync everysec #指定fsync()調用模式,有三種no(不調用fsync),always(每次寫都會調用fsync),everysec(每秒鐘調用一次fsync)。第一種最快,第二種數(shù)據(jù)最安全,但性能會差一些,第三種為這種方案,默認為第三種。

四:redis數(shù)據(jù)類型

Redis數(shù)據(jù)類型-string

string為最簡單的類型,與Memcached一樣的類型,一個key對應一個value,其支持的操作與Memcached的操作類似,它的功能更豐富。設置可以存二進制的對象。
示例:

#redis-cli
127.0.0.1:6379> set mykey "aminglinux.com"
OK
127.0.0.1:6379> get mykey
"aminglinux.com"
127.0.0.1:6379> mset key1 1 key2 a key3 c
127.0.0.1:6379> mget key1 key2 key3
1) "1"
2) "a"
3) "c"

Redis數(shù)據(jù)類型-list

list是一個鏈表結構,主要功能是push、pop、獲取一個范圍的所有值等等。操作中key理解為鏈表的名字。
使用 list 結構,我們可以輕松地實現(xiàn)最新消息排行等功能(比如新浪微博的 TimeLine )。list 的另一個應用就是消息隊列,可以利用 list 的 push操作,將任務存在 list 中,然后工作線程再用pop操作將任務取出進行執(zhí)行。
示例:

#redis-cli 
127.0.0.1:6379> LPUSH list1 "aminglinux"
127.0.0.1:6379> LPUSH list1 "1 2 3"
127.0.0.1:6379> LPUSH list1 "aaa bbb“
127.0.0.1:6379> LRANGE list1 0 -1
1) "aaa bbb"
2) "1 2 3"
3) "aminglinux“
127.0.0.1:6379> LPOP list1

Redis數(shù)據(jù)類型-set

set是集合,和我們數(shù)學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交并差等操作。操作中key理解為集合的名字。比如在微博應用中,可以將一個用戶所有的關注人存在一個集合中,將其所有粉絲存在一個集合。因為 Redis 非常人性化的為集合提供了求交集、并集、差集等操作,那么就可以非常方便的實現(xiàn)如共同關注、共同喜好、二度好友等功能,對上面的所有集合操作,你還可以使用不同的命令選擇將結果返回給客戶端還是存集到一個新的集合中。
set示例

127.0.0.1:6379> SADD set1 a
127.0.0.1:6379> SADD set1 b
127.0.0.1:6379> SADD set1 c
127.0.0.1:6379> SADD set1 d
127.0.0.1:6379> SMEMBERS set1
1) "d"
2) "b"
3) "a"
4) "c"
127.0.0.1:6379> SREM set1 c//刪除元素
127.0.0.1:6379> SADD set2 a 2 b
127.0.0.1:6379> SINTER set1 set2 //交集
127.0.0.1:6379> SUNION set1 set2 //并集
127.0.0.1:6379> SDIFF set1 set2 //差集

Redis數(shù)據(jù)類型-sort set

sorted set是有序集合,它比set多了一個權重參數(shù)score,使得集合中的元素能夠按 score 進行有序排列,比如一個存儲全班同學成績的 Sorted Sets,其集合 value 可以是同學的學號,而 score 就可以是其考試得分,這樣在數(shù)據(jù)插入集合的時候,就已經進行了天然的排序。

127.0.0.1:6379> ZADD set3 12 abc
127.0.0.1:6379> ZADD set3 2 "cde 123"
127.0.0.1:6379> ZADD set3 24 "123-aaa"
127.0.0.1:6379> ZADD set3 4 "a123a"
127.0.0.1:6379> ZRANGE set3 0 -1
1) "cde 123"
2) "a123a"
3) "abc"
4) "123-aaa"

倒序

127.0.0.1:6379> ZREVRANGE set3 0 -1
1) "123-aaa"
2) "abc"
3) "a123a"
4) "cde 123"

Redis數(shù)據(jù)類型-hash

在 Memcached 中,我們經常將一些結構化的信息打包成 hashmap,在客戶端序列化后存儲為一個字符串的值(一般是 JSON 格式),比如用戶的昵稱、年齡、性別、積分等。
示例

127.0.0.1:6379> hset hash1 name aming
127.0.0.1:6379> hget hash1 name
"aming"
127.0.0.1:6379> hset hash1 age 30
127.0.0.1:6379> hget hash1 age
"30"
127.0.0.1:6379> hgetall hash1
1) "name"
2) "aming"
3) "age"
4) "30"

相關文章

  • RedisTemplate 實現(xiàn)基于Value 操作的簡易鎖機制(示例代碼)

    RedisTemplate 實現(xiàn)基于Value 操作的簡易鎖機制(示例代碼)

    本文將介紹如何使用 RedisTemplate 的 opsForValue().setIfAbsent() 方法來實現(xiàn)一種簡單的鎖機制,并提供一個示例代碼,展示如何在 Java 應用中利用這一機制來保護共享資源的訪問,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Redis使用bloom-filter過濾器實現(xiàn)推薦去重

    Redis使用bloom-filter過濾器實現(xiàn)推薦去重

    這篇文章主要介紹了Redis使用bloom-filter過濾器實現(xiàn)推薦去重,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Redis 使用跳表實現(xiàn)有序集合的方法

    Redis 使用跳表實現(xiàn)有序集合的方法

    Redis有序集合底層為什么使用跳表而非其他數(shù)據(jù)結構如平衡樹、紅黑樹或B+樹的原因在于其特殊的設計和應用場景,跳表提供了與平衡樹類似的效率,同時實現(xiàn)更簡單,調試和修改也更加容易,感興趣的朋友一起看看吧
    2024-09-09
  • 聊一聊redis奇葩數(shù)據(jù)類型與集群知識

    聊一聊redis奇葩數(shù)據(jù)類型與集群知識

    現(xiàn)在越來越多的項目都會利用到redis,多實例redis服務比單實例要復雜的多,這里面涉及到定位、容錯、擴容等技術問題,下面這篇文章主要給大家介紹了關于redis奇葩數(shù)據(jù)類型與集群知識的相關資料,需要的朋友可以參考下
    2022-01-01
  • Redis實現(xiàn)編碼生成規(guī)則方式

    Redis實現(xiàn)編碼生成規(guī)則方式

    在自動生成編碼時應采用“MD+年月日+4位序列號”的規(guī)則,如“MD202310130001”,為避免使用隨機序列號導致的重復編碼,建議使用從0開始的自增序列號,此外,使用Redis的incrBy功能實現(xiàn)序列號自增,可以有效提高效率和降低實現(xiàn)難度
    2023-01-01
  • redis的hGetAll函數(shù)的性能問題(記Redis那坑人的HGETALL)

    redis的hGetAll函數(shù)的性能問題(記Redis那坑人的HGETALL)

    這篇文章主要介紹了redis的hGetAll函數(shù)的性能問題,需要的朋友可以參考下
    2016-02-02
  • Windows下Redis安裝配置教程

    Windows下Redis安裝配置教程

    這篇文章主要為大家詳細介紹了Windows下Redis安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • redis中hash數(shù)據(jù)結構及說明

    redis中hash數(shù)據(jù)結構及說明

    這篇文章主要介紹了redis中hash數(shù)據(jù)結構及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Redis常見限流算法原理及實現(xiàn)

    Redis常見限流算法原理及實現(xiàn)

    這篇文章主要介紹了Redis常見限流算法原理及實現(xiàn),限流簡稱流量限速(Rate?Limit)是指只允許指定的事件進入系統(tǒng),超過的部分將被拒絕服務、排隊或等待、降級等處理
    2022-08-08
  • 巧用Redis實現(xiàn)分布式鎖詳細介紹

    巧用Redis實現(xiàn)分布式鎖詳細介紹

    大家好,本篇文章主要講的是巧用Redis實現(xiàn)分布式鎖詳細介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論