Redis学习

183 阅读2分钟

一:安装和部署

参考链接:
Linux下Redis的安装和部署
Redis在Linux上的安装与配置

二:登录客户端

  • redis客户端
    $ redis-cli
  • 远程服务器上执行命令
    $ redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

三:数据类型

数据类型 存操作 取操作
String Set key "value" GET key
Hash HMSET key field1 "value1" field2 "value2" HGET key field1/field2
Set(无序) SADD set member SMEMBERS set
zset(有序) ZADD key score member ZRANGEBYSCORES key 0 1000
HyperLogLog PFADD hyper "redis1" PFCOUNT hyper

四:发布订阅

  • 发布者
    PUBLIC redisChat "Hello,redis"
  • 订阅者
    SUBSCRIBE redisChat

五:事务

  1. Redis事务可以一次执行多个命令,并且带有以下三个重要的保证:
    1. 批量操作在发送 EXEC 命令前被放入队列缓存。
    2. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
    3. 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
  2. 一个事务从开始到执行会经历三个阶段
    1. 开始事务:MULTI
    2. 命令入队:QUEUED
    3. 执行事务:EXEC
  3. 其他命令
    1. 取消事务,放弃执行事务块内的所有命令:DISCARD
    2. 取消 WATCH 命令对所有 key 的监视:UNWATCH
    3. 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断:WATCH key[key...]

六:管道技术

Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:

  1. 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
  2. 服务端处理命令,并将结果返回给客户端。

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

七:Java使用Redis

参考菜鸟教程,在项目中引入jedis.jar

//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");

参考

Redis 教程