退出redis
shutdown :关闭redis
exit :推出
keys * :查看全部的key
linux启动redis
redis的路径:/usr/local/bin
启动redis服务器: redis-server 85config/redis.conf
启动redis客户端:redis-cli -p 6379
ping 之后返回 pong
查看redis线程:ps -ef|grep redis
==============================
Redis五种基本类型
String 字符串 (key-value)
set key :添加一个key
get key :获取key的值
List 列表 (key-属组(有序)),命令前面都加 l !元素可以重复。
lpush key value :往列表中添加元素
lrange key 0 10 :获取列表中0-10的元素;0 -1 代表取全部
Set 集合 (key-属组(无序)),命令前面都加 s !元素不允许重复。
sadd key 一个value:往集合添加元素
smembers key:查看key中所有的值
srem key 一个value:移除集合中的指定元素
srangmember key 2:随机抽取集合中的2个元素
smove key1 key2 “value”:把key1中的“value”移动到key2中
Hash 哈希 (key-Map),命令前面都加 h !
hset key k1 “v1” k2 “v2”:往名叫key的map集合中添加一对键值对
hget key Mapkey:获取key集合中的键Mapkey的值
hgetall key:获取key集合中的所有的键值对
hdel key Mapkey:删除集合中指定的键值对
Zset 有序集合,Set集合增加了有序,命令前面都加 z !
zadd key 1 val1:往集合的第一个元素添加值
zrangbyscore key -inf +inf:排序,按照-inf负无穷,+inf正无穷
zrem key name:删除集合key中的name
redis 的监控(watch)
乐观锁的原理
redsi持久化,在配置文件中配置,默认rdb
- 因为内存中的数据是断电即失,持久化就是把内存中的数据写到磁盘中。
rdb:Redis DataBase,按照一定的时间把内存中的数据保存在磁盘中,在配置文件中开启/设置快照的规则和时间。默认文件名 dump.rdb,默认规则:save 900 1,save 300 10,save 60 10000;退出redis也会执行一次保存。
aof:Append Only File,即是将redis每次的写命令记录到日志文件中,当重启redis的时候会重新执行一遍命令记录。默认文件名 application.rof。
优点: 1、AOF文件比RDB更新频率高,优先使用AOF还原数据。 2、AOF比RDB更安全,文件也更大。 3、RDB性能比AOF好。 4、如果两个都配了优先加载AOF。 缺点: 1、AOF 文件比 RDB 文件大,且恢复速度慢。 2、数据集大的时候,比 rdb 启动效率低。
Redis集群
- 模式之一:主从模式,多服务器搭建集群
在主从复制中,数据库分为两类:主数据库(master)和从数据库(slave)。
1、主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库。
2、从数据库一般都是只读的,并且接收主数据库同步过来的数据。
3、一个master可以拥有多个slave,但是一个slave只能对应一个master。
4、slave挂了不影响其他slave的读和master的读和写,重新启动后会将数据从master同步过来。
5、master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务。
6、master挂了以后,不会在slave节点中重新选一个master。
- 实现的三种方式
1、配置文件
在从服务器的配置文件中加入:slaveof Host Port
2、启动命令
redis-server启动命令后加入 --slaveof Host Port
3、客户端命令
Redis服务器启动后,直接通过客户端执行命令:slaveof Host Port
Redis哨兵模式
- redis-sentinel sentinel.conf
启动命令
当主服务器master宕机之后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费时费力还会造成一段时间服务不可用,这就需要哨兵模式。哨兵是独立的进程,他会给redis服务器发送命令,等待响应,如果出现服务宕机,会在从服务器中自动选举出来一个新的主服务器。单一哨兵可能会出现问题,使用多个哨兵监控形成多哨兵模式。