Redis入门知识

一、什么是Redis

Redis(Remote Dictionary Server 远程数据服务)是一个key-value(键-值)存储系统,是一个内存高速缓存数据库,会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化,并且在此基础上实现master-slave(主从)同步,在主服务器上写,在从服务器读。

Redis支持的数据类型:string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。

Redis的优势:

  • 支持key-value类型的数据,同时提供string、list、set、zset、hash数据结构
  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时会再次加载
  • 支持master-slave(主-从)模式应用

二 、key(键)的操作

exists key     测试指定的key是否存在
del key1 key2...keyN    删除指定的key
type key  返回给定key的value类型
keys pattern 返回匹配指定模式的所有key
rename oldkey newkey 改key的名字
dbsize 返回当前数据库的key数量
expire key seconds 为key指定过期的时间
ttl key 返回key的剩余过期秒数
select de-index 选择数据库
move key db-index 将key从当前数据库移动到指定的数据库
flushdb  删除当前数据库中所有value
flushall 删除所有数据库中所有的key

 

 二、string类型

string类型是redis的最基本类型,可以包含任何数据

基本操作如下:

set key value 设置key对应的值为string类型的value
mset key1 value1....keyN valueN 一次设置多个key的值
mget key1 key2...keyN 一次获取多个key的值
incr key 对key的值做加加操作 并返回新的值   (increment) 默认i++
decr key 对key的值做减减操作 并返回新的值     (decrement)默认i--
incrby key integer 对key的值 加上指定的值     相当于i=i+integer
decrby key integer 对key的值 减去指定的值     相当于i=j-integer
append key value 给指定key的字符串追加value   
substr key start end 返回截取过的key的字符串值  索引从0开始  包含start 和 end

 

四、 list类型

list类型相当于一个双向的链表,有push pop操作进行删除元素 添加元素

基本操作如下:

lpush key string 在key对应list的头部添加字符串元素
rpop key     从list的尾部删除元素  并返回删除的元素
llen key 返回 key   对应list的长度 key不存在返回0 如果对应类型不是string 返回错误
lrange key start end  返回指定区间内的元素  索引从0开始
rpush key string 在key对应list的尾部添加字符串
lpop key  从list的头部删除元素  并返回删除的元素
ltrim key start end 获取list 保留指定区间内元素

 

五、 set类型

set类型具有集合的无序性、互异性等,除了基本的添加 删除元素 还包含集合的取交集、并集、差集

主要操作如下:

sadd key member 添加一个string元素到key对应的set集合中 成功返回1 如果元素已经在集合中 返回0 key对应的set不存在返回错误
srem key member1 member2...memberN 从key对应set中移除给定元素 成功返回1
smove p1 p2 member   从p1对应set中移除member并添加到p2对应set中
scard key  返回set的元素个数
sismember key member 判断member是否在set中
sinter key1 key2...keyN 返回所有给定key的交集
sunion key1 key2...keyN 返回所有给定key的并集
sdiff key1 key2...keyN 返回所有给定key的差集
smembers key 返回key对应set的所有元素 结果是无序的

 

六、zset(sorted set)类型

 与set类型不同的是,该集合中的每个元素都是(权-值的组合),通过权可对集合中的元素进行排序

相关操作如下

zadd key score member  添加元素到集合中 存在则更新对应的score
zrem key member        删除指定元素 1 表示成功 如果元素不存在返回0
zincrby key incr member 按照incr幅度增加对应member的score值,返回score值  score+=incr
zrank key member 返回指定元素在集合中的排名(下标) ,集合中元素是按照score从小到大排列的
zrevrank key member 返回指定元素在集合中的排名(下标) ,集合中元素是按照score从大到小排列的
zrange key start end 选择集合中指定区间的元素,返回的有序结果 从小到大
zrevrange key start end 返回指定区间 从大到小
zcard key 返回集合中元素个数
zscore key member 返回给定元素堆顶的score
zremrangebyrank key min max  删除集合中排名在给定区间的元素

 

七、 hash类型

与mysql中存储一条记录相似,可以多个字段

主要操作如下,(field相当于mysql中的字段)

hset key field value  设置hash field为指定值 如果key不存在 则先创建
hget key fieldd        获取指定的hash field
hmget key field1 field2...fieldN    获取全部指定的hash field
hmset key field1 value1 field value2...fieldN valueN 同时设置hash的多个field
hincrby key field integer    将指定的hash field加上指定的值
hexists key field   测试指定field是否存在
hdel key field    删除指定的hash field
hlen key  返回hash的所有field
hvals key 返回hash的所有value
hgetall key 返回hash的所有field 和 value

 

八、数据持久化

1、snap sgotting快照持久化

该持久化默认开启 一次性把redis中的数据备份保存到硬盘中(如果数据非常多10G-20 G,不适合频繁使用该持久化方式)

会自动生成一个dump.rdb文件 保存数据

配置文件中的快照持久化说明

2、append only file(AOF持久化)

本质:把用户执行的每个‘写’指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令
(默认是没有开启的)

开启AOF持久化,会自动清空redis内部的数据,会默认生成appendonly.aof(可在配置文件中自行修改自己想要的文件名)

配置文件中AOF持久化的说明

 

九、主从模式 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值