1. 程式人生 > >Redis(2)-----初識Redis-----基礎redis命令

Redis(2)-----初識Redis-----基礎redis命令

hash型別(雜湊map)
HMSET mymap1 name "qingruihappy" description "suning" age "20" sex "man" sex "man" sex "man" sex "man"
HMSET mymap2 name "qingruihappy" description "suning" age "21" age "20" sex "man" sex "man" sex "man" sex "man"

HMSET mymap2 name "qingruihappy" description "suning" description2 "nanjing" age "21" age "20" sex "man" sex "man" sex "man" sex "man"
HMSET mymap2 name "qingruihappy" sex "woman"
HMGET mymap1 name description age sex

字串(String)
set myStr qingruihappy
get myStr

列表(List) 可重複 先進後出
LPUSH myList redis
LPUSH myList redis
LPUSH myList sql
LPUSH myList orcal
LPUSH myList java
LPUSH myList java

LRANGE myList 0 8
它和我們傳統用的arraylist是不太一樣的,先進先出

集合(Set) 不可重複,無序
SADD myset redis
SADD myset redis
SADD myset sql
SADD myset orcal
SADD myset java
SADD myset java
SADD myset dba
SADD myset phyon
SADD myset c
SADD myset c++

SMEMBERS myset


Redis 有序集合(sorted set) 有序可重複
ZADD mysortedset 1 redis
ZADD mysortedset 1 redis
ZADD mysortedset 2 redis
ZADD mysortedset 5 sql
ZADD mysortedset 8 orcal
ZADD mysortedset 6 java
ZADD mysortedset 9 java
ZADD mysortedset 6 dba
ZADD mysortedset 3 phyon
ZADD mysortedset 11 c
ZADD mysortedset 10 c++

ZRANGE mysortedset 0 10
ZRANGE mysortedset 0 10 WITHSCORES

 

說白了總共5中資料型別string hash list set 有序set


HyperLogLog
PFADD myHyperLogLoga b c d e f g h i i j j
PFCOUNT myHyperLogLoga


訂閱--釋出

PUBLISH channel message
SUBSCRIBE channel [channel ...]

例子:
PUBLISH msg "qingruhappy"
subscribe msg

 

PUBLISH channel message
PSUBSCRIBE pattern [pattern ...]
例子:
publish qingrui.sex man
Psubscribe qingrui*

 

Redis 事務
例子1:
multi
OK
set book-name "java sixiang"
QUEUED
get book-name
QUEUED
sadd tag "java" "c++" "phchy" "php"
QUEUED
smembers tag
QUEUED
exec
1) OK
2) "java sixiang"
3) (integer) 4
4) 1) "java"
2) "phchy"
3) "php"
4) "c++"


例子2:
multi
OK
set a aaa
QUEUED
set b bbb
QUEUED
set c ccc
QUEUED
exec
1) OK
2) OK
3) OK
如果在 set b bbb 處失敗,set a 已成功不會回滾,set c 還會繼續執行。

Redis 指令碼

EVAL script numkeys key [key ...] arg [arg ...]
script 指令碼
numkeys數目
key key的值
arg 引數的值
EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
1) "key1"
2) "key2"
3) "first"
4) "second"

Redis 連線

AUTH "password"
OK
PING
PONG

Redis 伺服器
INFO

 

Redis 安全

127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
假如沒設定密碼執行auth foobared(密碼)
的話就會報
(error) ERR Client sent AUTH, but no password is set

預設情況下 requirepass 引數是空的,這就意味著你無需通過密碼驗證就可以連線到 redis 服務。
你可以通過以下命令來修改該引數:
127.0.0.1:6379> CONFIG set requirepass "runoob"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "runoob"

 

連線到 redis 服務
http://www.runoob.com/redis/redis-java.html
import redis.clients.jedis.Jedis;

public class RedisJava {
public static void main(String[] args) {
//連線本地的 Redis 服務
Jedis jedis = new Jedis("localhost");
System.out.println("連線成功");
//檢視服務是否執行
System.out.println("服務正在執行: "+jedis.ping());
}
}