Redis知识点

我的梦境 提交于 2020-01-16 00:15:23

1.NoSql的概念

1. 什么是NoSql

nosql 它是非关系型数据库
nosql 用于解决网站里面大数据和高并发的问题

2. Nosql数据库(特点)
key-value(键值对形式)型 nosql数据库 – 典型代表 redis

2.redis的认识

  1. redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面
  2. Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构

包括 list set map(hash) string等

3.redis的特点

  1. 数据存储内存,速度比较快
  2. 支持类型比较多 ,string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合–api)和hash(哈希类型)。
  3. 支持磁盘存储 – 完成持久化操作 (aof rdb)
  4. 支持数据的过期 --(设置过期时间 expire)
  5. 支持集群操作
  6. 支持订阅和发布

3. Redis 和 Memcache区别

  1. 不同点:memecache 把数据全部存在内存之中,断电后就没了,数据也不能超过内存大小,
    redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化
  2. 相同点:memcache和redis 都是 key-value 非关系型数据,redis 它是 key-value型的非关系型数据库,作用做缓存

4. Redis的使用

1. 操作String

set  key value  //将字符串值value关联到key
get  key       //返回key关联的字符串值
mset           //同时设置一个或多个 key-value 对
mget           //返回所有(一个或多个)给定 key 的值
incr key      //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key     //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key   //自增多少

2. 对key的常用操作

keys *           //获取所有key列表
del key         //删除key
expire key xx   //设置key的过期时间(xx秒后过期)
ttl key        //查看key的过期时间
flushall      //清空整个redis服务器数据,所有的数据库全部清空
flushdb       //清除当前库,redis中默认有16个数据库,名称分别为0,1,2.。。15

2. 对list的常用操作

list集合可以看成是一个左右排列的队列(列表)
lpush key value //将一个或多个值 value 插入到列表 key 的表头(最左边)
rpush key value //将一个或多个值 value 插入到列表 key 的表尾(最右边)
lpop key //移除并返回列表 key 的头(最左边)元素。
rpop key //移除并返回列表 key 的尾(最右边)元素。
lrange key start stop //返回列表 key 中指定区间内的元素,查询所有的stop为-1即可
lindex key index //返回列表 key 中,下标为 index 的元素
ltrim key start stop //对一个列表进行修剪

2. 对set的常用操作

set集合是一个无序的不含重复值的队列
sadd  key member //将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
srem key member //移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略
smembers key    //返回集合 key 中的所有成员。

2. 对hash的常用操作

hash类型类似于php的数组 
hset key name value//添加一个name=>value键值对到key这个hash类型
hget key name //获取hash类型的name键对应的值
hmset key name1 key1 name2 key2 //批量添加name=>value键值对到key这个hash类型
hmget key name1 name2//批量获取hash类型的键对应的值
hkeys //返回哈希表 key 中的所有键
hvals //返回哈希表 key 中的所有值
hgetall //返回哈希表 key 中,所有的键和值
我们将user:1(name:zhangsan,age:18,sex:nv)的信息保存在hash表.

5. Redis持久化配置

有时候 我们的服务一旦关了,数据就会丢失,但是有时候 我们需要把数据存下来,所以就需要做持久化操作;
在这里插入图片描述
Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置.
在这里插入图片描述

1.RDB模式

RDB 持久化可以在指定的 时间间隔内 生成数据集的时间点快照,默认开启该模式.
如何关闭 rdb 模式:
save ""
save 900 1        //至少在900秒的时间段内至少有一次改变存储同步一次

2.AOF模式

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,
通过重新执行这些命令来还原数据集,默认关闭该模式
appendonly yes         //yes 开启,no 关闭
# appendfsync always //每次有新命令时就执行一次fsync  
#这里我们启用 everysec
appendfsync everysec //每秒 fsync 一次
# appendfsync no      //从不fsync(交给操作系统来处理,可能很久才执行一次fsync)
其它的参数请大家看redis.conf配置文件详解
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!