1.什麼是Redis
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。換句話說,Redis就像是一個HashMap,不過不是在JVM中運行,而是以一個獨立進程的形式運行。
一般說來,會被當作緩存使用。 因爲它比數據庫(mysql)快,所以常用的數據,可以考慮放在這裏,這樣就提高了性能。
2.下載安裝
http://download.how2j.cn/1395/redis-64.3.0.503.zip
3.啓動服務端
通過win+r,cmd 運行命令行
然後輸入如下指令:
4.啓動客戶端
通過win+r,cmd 運行命令行
5.舉例運用
輸入指令:
set hero gareen
get hero
1.String 字符串
//挨個挨個敲入如下命令,自然就知道什麼用處啦
set google http://www.google
append google .com
get google
set visitors 0
incr visitors
incr visitors
get visitors
incrby visitors 100
get visitors
type google
type visitors
ttl google
rename google google-site
get google
get google-site
//對於個別命令不明白的,還可以查閱如下手冊
SET key value 設置key=value
GET key 獲得鍵key對應的值
GETRANGE key start end 得到字符串的子字符串存放在一個鍵
GETSET key value 設置鍵的字符串值,並返回舊值
GETBIT key offset 返回存儲在鍵位值的字符串值的偏移
MGET key1 [key2..] 得到所有的給定鍵的值
SETBIT key offset value 設置或清除該位在存儲在鍵的字符串值偏移
SETEX key seconds value 鍵到期時設置值
SETNX key value 設置鍵的值,只有當該鍵不存在
SETRANGE key offset value 覆蓋字符串的一部分從指定鍵的偏移
STRLEN key 得到存儲在鍵的值的長度
MSET key value [key value...] 設置多個鍵和多個值
MSETNX key value [key value...] 設置多個鍵多個值,只有在當沒有按鍵的存在時
PSETEX key milliseconds value 設置鍵的毫秒值和到期時間
INCR key 增加鍵的整數值一次
INCRBY key increment 由給定的數量遞增鍵的整數值
INCRBYFLOAT key increment 由給定的數量遞增鍵的浮點值
DECR key 遞減鍵一次的整數值
DECRBY key decrement 由給定數目遞減鍵的整數值
APPEND key value 追加值到一個鍵
DEL key 如果存在刪除鍵
DUMP key 返回存儲在指定鍵的值的序列化版本
EXISTS key 此命令檢查該鍵是否存在
EXPIRE key seconds 指定鍵的過期時間
EXPIREAT key timestamp 指定的鍵過期時間。在這裏,時間是在Unix時間戳格式
PEXPIRE key milliseconds 設置鍵以毫秒爲單位到期
PEXPIREAT key milliseconds-timestamp 設置鍵在Unix時間戳指定爲毫秒到期
KEYS pattern 查找與指定模式匹配的所有鍵
MOVE key db 移動鍵到另一個數據庫
PERSIST key 移除過期的鍵
PTTL key 以毫秒爲單位獲取剩餘時間的到期鍵。
TTL key 獲取鍵到期的剩餘時間。
RANDOMKEY 從Redis返回隨機鍵
RENAME key newkey 更改鍵的名稱
RENAMENX key newkey 重命名鍵,如果新的鍵不存在
TYPE key 返回存儲在鍵的數據類型的值。
2.List 列表
//挨個挨個敲入如下命令,自然就知道什麼用處啦
lpush list1 redis
lpush list1 hello
rpush list1 world
llen list1
lrange list1 0 3
lpop list1
rpop list1
lrange list1 0 3
//對於個別命令不明白的,還可以查閱如下手冊
BLPOP key1 [key2 ] timeout 取出並獲取列表中的第一個元素,或阻塞,直到有可用
BRPOP key1 [key2 ] timeout 取出並獲取列表中的最後一個元素,或阻塞,直到有可用
BRPOPLPUSH source destination timeout 從列表中彈出一個值,它推到另一個列表並返回它;或阻塞,直到有可用
LINDEX key index 從一個列表其索引獲取對應的元素
LINSERT key BEFORE|AFTER pivot value 在列表中的其他元素之後或之前插入一個元素
LLEN key 獲取列表的長度
LPOP key 獲取並取出列表中的第一個元素
LPUSH key value1 [value2] 在前面加上一個或多個值的列表
LPUSHX key value 在前面加上一個值列表,僅當列表中存在
LRANGE key start stop 從一個列表獲取各種元素
LREM key count value 從列表中刪除元素
LSET key index value 在列表中的索引設置一個元素的值
LTRIM key start stop 修剪列表到指定的範圍內
RPOP key 取出並獲取列表中的最後一個元素
RPOPLPUSH source destination 刪除最後一個元素的列表,將其附加到另一個列表並返回它
RPUSH key value1 [value2] 添加一個或多個值到列表
RPUSHX key value 添加一個值列表,僅當列表中存在
//Hash 字典,哈希表
hset person name jack
hset person age 20
hset person sex female
hgetall person
hkeys person
hvals person
//Set 集合
SADD myset "Hello"
SADD myset "World"
SMEMBERS myset
SADD myset "one"
SISMEMBER myset "one"
SISMEMBER myset "two"
//Sorted Set 有序集合
zadd dbs 100 redis
zadd dbs 98 memcached
zadd dbs 99 mongodb
zadd dbs 99 leveldb
zcard dbs
zcount dbs 10 99
zrank dbs leveldb
zrank dbs other
zrangebyscore dbs 98 100