1. 常用命令
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart
1. redis啟動(dòng)命令:$ redis-server &
2.redis客戶端管理工具:redis-cli
客戶端連接命令:$ redis-cli -h 127.0.0.1 -p 6379 -a "devin321"
客戶端連接之后,判斷是否啟動(dòng):$ PING;返回$ PONG;證明連接成功。
3. redis默認(rèn)端口號(hào):6379
2. redis客戶存儲(chǔ)的數(shù)據(jù)類型:String、hash、list、set、zset(有序集合)
2.1 String存儲(chǔ)常用命令
string 存儲(chǔ)常用命令為get和set命令。對(duì)同一個(gè)key進(jìn)行set多次,之后保留最后一個(gè)值。
如:$ set 100077 中意人壽
? ? ? ? $ set 100077 長(zhǎng)城人壽
? ? ? ? $ get 100077
結(jié)果返回:“長(zhǎng)城人壽” ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
$ set key value
$ get key
2.2 hash 存儲(chǔ)常用命令
使用命令:hmset,hget
$ hmset key hash-key1 hash-value1 hash-key2 hash-vlaue2
$ hget key hash-key1 ? //只能這樣使用;直接使用$hget key,會(huì)報(bào)錯(cuò):ERR wrong number of arguments for 'hget' command
每個(gè) hash 可以存儲(chǔ) 232?-1 鍵值對(duì)
$ hmset liudehua username 劉德華 password ldh123
$hget liudehua username ?//結(jié)果返回:$ 劉德華
2.3 list 存儲(chǔ)常用命令
$ lpush key value1 vlaue2 value3
$ lrange key start end (start是索引的開始位置;end 索引的結(jié)束位置。)
Redis 列表是簡(jiǎn)單的字符串列表,按照插入順序排序
$ lpush laoshi laoshi1 laoshi2 laoshi3
$ lrange laoshi 1 2 ?//結(jié)果返回 laoshi2 laoshi1,且是有序的
2.4 set 存儲(chǔ)常用命令
$ sadd key value1 value2 value3
$ smembers key
根據(jù)集合內(nèi)元素的唯一性,第二次插入的元素將被忽略。
2.5 zset 存儲(chǔ)常用命令
$ zadd key score member1
$ zrangebyscore key score-start score-end
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
3. redis 事務(wù)
1. $ multi ? //啟動(dòng)事物
2. $ set tcher1 tch1
????$ set tcher1 ?tch2
? ? $ hmset clss1 field1 class1 field2 class2 field3 class3
? ? $ lpush stu1 student1 student2 student3
3. ?exec //執(zhí)行事務(wù)
單個(gè) Redis 命令的執(zhí)行是原子性的,但 Redis 沒有在事務(wù)上增加任何維持原子性的機(jī)制,所以 Redis 事務(wù)的執(zhí)行并不是原子性的。
事務(wù)可以理解為一個(gè)打包的批量執(zhí)行腳本,但批量指令并非原子化的操作,中間某條指令的失敗不會(huì)導(dǎo)致前面已做指令的回滾,也不會(huì)造成后續(xù)的指令不做。
其他命令:DISCARD ?取消事務(wù)