redis--修行笔记

一、什么是redis

redis是一种nosql的非关系型数据库,一般它的数据格式为key,value。其中,key一般用字符串表示。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

二、为什么用redis

一般而言,我们日常中常用的关系型数据库,如mysql,Oracle等。它们的数据基本都是存储在硬盘上的,而且数据与数据之间是有关联的。因此,我如果要读取硬盘上的文件,就需要用到io流等操作。如果遇到数据量大时,此时读写速率就成了一个问题。为了解决这个问题,我们需要引入redis。将数据存储到内存中去。

一般而言,它具有以下特点:

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

三、nosql与关系数据库的区别

  1. 学习成本不一样,关系型数据库有严格的sql规范,因此,学会一个就很容易上手另一个
  2. 关系型数据库需要花钱,而nosql则是免费使用的。
  3. 读写速度方面差别大
  4. 数据之间有无关联

其实,nosql与关系型数据库之间是互补关系。

一般将数据存到关系型数据库,再将数据备份到nosql数据库。

四、应用场景

  1. 缓存
  2. 聊天室的好友列表
  3. 任务队列
  4. 应用排行榜
  5. 网站访问统计
  6. 数据过期处理
  7. 分布式集群架构中的sessIon分离

 

数据类型

  • 列表类型 list:简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)

存储

1.lpush key value :从左边存入列表;2.rpush key value : 从右边存入列表
       获取 

lrange key start end 范围获取
       删除 

1.lpop key value 从列表的最左边移除一个元素,并将元素返回;2.rpop key value 从列表的最右边移除一个元素,并将元素          返回

  • 集合类型 set: 不予许重复元素

        存储 sadd key value
        获取 smembers key 获取set集合中所有元素
        删除 srem key value 删除set集合中某个元素

  • 有序集合类型 sortedset: 不允许重复元素,且元素有顺序

        存储 zadd key score value;
        获取 zrange key start end
        删除 zrem key value

通用命令
1.key *: 查询所有的键
2.type key : 获取对应的value 的类型
3.del key:删除指定的key

五、持久化


1.redis是一个内存数据库,当redis服务器重启,或者电脑重启时,数据会丢失,我们可以将内存中的数据保存到硬盘中。
2. redis 持久化机制
    1. RDB:默认方式,不需要进行配置,默认使用这种机制
        在一定的间隔时间中,检测key的变化情况,然后持久化数据
    1.编辑redis.window.conf文件
    #   after 900 sec (15 min) if at least 1 key changed
    save 900 1
    #   after 300 sec (5 min) if at least 10 keys changed
    save 300 10
    #   after 60 sec if at least 10000 keys changed
    save 60 10000
    2.重新启动redis服务器,并指定配置文件名称
    在redis的安装目录中,执行redis-server.exe redis.windows.conf

    2.AOF: 日志记录的方式,可以记录每一条命令的操作,额可以每一次命令操作后,持久化操作。
    1.编辑redis.windows.conf文件
        appendonly no(关闭aof) 改成 appendoniy yes(开启aof)
        
        # appendfsync always 每个一次操作开始持久化
        appendfsync everysec 每隔一秒操作一次
        # appendfsync no       不进行持久化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值