redis 学习

redis启动

1. redis- server

2.redis-cli

string 

127.0.0.1:6379> set teststr "name1"
OK
127.0.0.1:6379> get teststr
"name1"

Hash(哈希)

127.0.0.1:6379> hmset hashtests hashtest1 't1' hashtest2 't2'
OK
127.0.0.1:6379> hget hashtests hashtest1
"t1"

list 集合

redis 127.0.0.1:6379> lpush runoob redis
(integer) 1
redis 127.0.0.1:6379> lpush runoob mongodb
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10

SET集合

127.0.0.1:6379> sadd setlist redis
(integer) 1
127.0.0.1:6379> sadd setlist mongodb
(integer) 1
127.0.0.1:6379> smembers setlist
1) "mongodb"
2) "redis"
127.0.0.1:6379> asdd setlist redis
(error) ERR unknown command 'asdd'
127.0.0.1:6379> sadd setlist redis
(integer) 0
127.0.0.1:6379> smembers setlist
1) "mongodb"
2) "redis"
127.0.0.1:6379>

zset

127.0.0.1:6379> zadd zsettest 0 redis
(integer) 1
127.0.0.1:6379> zadd zsettest 0 mongodb
(integer) 1
127.0.0.1:6379> zadd zsettest -1 rabitmq
(integer) 1
127.0.0.1:6379> zrangebyscore runoob 0 100
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> zrangebyscore zsettest 0 100
1) "mongodb"
2) "redis"
127.0.0.1:6379> zadd zsettest 1 rabitmq
(integer) 0
127.0.0.1:6379> zrangebyscore zsettest 0 100
1) "mongodb"
2) "redis"
3) "rabitmq"

 redis的事务并不是原子性的

中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

单个redis命令是原子性的

数据库连接和ping

//输入密码登录
redis 127.0.0.1:6379> AUTH "password"
OK
//ping一下
redis 127.0.0.1:6379> PING
PONG

 发送订阅

(客户端 接收者  )
redis 127.0.0.1:6379> SUBSCRIBE redisChat Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChat" 3) (integer) 1
(服务端 发送者)
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique" (integer) 1 redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by yiibai" (integer) 1 1) "message" 2) "redisChat" 3) "Redis is a great caching technique" 1) "message" 2) "redisChat" 3) "Learn redis by yiibai"
原文地址:https://www.cnblogs.com/xhxsk/p/9687644.html