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());
}
}

猜你喜欢

转载自www.cnblogs.com/qingruihappy/p/9948739.html