Redis

一、Reids介绍

1.key

1.1key 命令

1) keys*:查看

2) setnx:key 不存在时,为 key 设置指定的值。

3) exists key:判断key是否存在

4) move key db:移库

5) expire key :设置过期时间

6) ttl key:查看过期时间,-1永不过期,-2已过期。

7) type key:查看key类型。

8) del :删除已存在的键。不存在的 key 会被忽略。

1.2key命名规范

key的命名规则 定义为 

MS-TEN:SESSION_KEY_IN_LOGIN_NAME:fqh

使用:进行分割,这样存入redis的是有层次结构的

二、Reids的五种基本类型:String、Hash、List、Set、ZSet。

1.String

1)设置值:set ,取值:get 删除值:del。set多次会覆盖。

2)setnx(not exist):不存在设置值,并返回1,存在返回0。

3)setex(expired):设置数据过期时间,例:setex color 10 red。10秒后过期,返回nil。

4)  setrange替换字符串:

5)strlen[name] 方法:获取字符串长度。

2.Hash类似Java对象

1)设置值:hset,取值:hget,删除hash的field:hdel

2)hexists:是否存在key,存在:1,不存在:0。

3)   hkeys:获取key

4)   hvals:获取value

5)   hgetall:获取key和value

3.List类似Java Queue

1)添加:push

lpush:头部添加,栈,先进后出。

rpush:尾部添加,队列,先进先出。

2)插入:linsert

3)删除:lrem。

4.Set和ZSet set:无序,ZSet:有序。Set通过hashtable实现。

1)sadd:添加

2)srem:删除

5.Redis高级命令

6.Redis安全性

7.Redis主从复制:读写分离。

8.Redis事务

 multi:打开事务

 exec:执行

 discard:取消事务

9.Redis持久化机制

 9.1 快照 RDB

  1)save 60 10

 9.2 append-only file(aof):类似关系数据库中的undo,一般生产环境使用。

 

10.Redis发布与订阅模式

11.Redis哨兵模式

   11.1 原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

   11.2 哨兵的两个作用

  • 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。

  • 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。

三、Jedis(java API)

四、redis的三种集群方式

 1.主从复制

    优点:读写分离

    缺点:主挂了,从不能写入数据。

 2.哨兵模式

   优点:主从复制+主从切换

   缺点:扩容复杂

3.Redis-Cluster集群

   优点:主从复制+哨兵模式+分布式存储。数据可以分开存储到不同的节点,支持扩容。

原文地址:https://www.cnblogs.com/wenxiangchen/p/11318101.html