redis

Redis简介
  • 百科:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
  • 说明:是一个非关系型数据库,经常会用作缓存,消息中间件的操作
  • 网址:www.redis.cn 中文网站
  • 优势(面试)
    • 存储既可以在内存中,也可以持久化存储
    • 数据类型非常丰富,字符串,哈希,列表,集合,有序集合等
  • 端口:6379 MYSQL 3306 HTTP:80 HTTPS:443 SSH:22 FTP:21

redis 安装

  • 命令安装:sudo apt-get install redis-server,版本比较低,客户端没有提示信息

  • 源码安装:可以选择哪一个版本

    https://www.cnblogs.com/mayyan/p/7717994.html
    
    
  • windows下面启动redis

    redis-server redis.windows.conf#启动redis服务器
    
  • 使用

    redis-cli.exe#启动客户端
    
  • 给大家推荐一个可视化工具

    redisplus
    

redis常用命令

  • 管理命令

    命令说明
    ping测试连接情况,默认回复一个pong
    exit/quit退出客户端
    auth身份认证
    config配置命令,用来查看选项或者设置相关配置的
    info查看redis服务器相关信息
    command查看可用的命令
    select选择库0-15,默认的是在0数据库下面
    flushdb清空当前的库,慎用
    flushall清空所有的库,特别慎用
    save前台执行持久化的时候使用(会阻塞)
    bgsave后台执行持久化操作(不会阻塞)
  • keys(键)

    命令说明
    exists判断指定的键是否存在,如果存在返回1,不存在返回0
    keys查看指定格式的键,*表示模糊匹配
    del删除指定的键
    ttl查看指定的键剩余的有效时间,-1表示永久有效,-2表示键不存在,单位为秒
    expire设置指定的有效时间,单位是秒(重要)
    persist删除指定键的有效时间,之后变成永久的
    move将指定的键移动到指定的库
    rename修改指定键的名字
  • 字符串

    命令说明
    set设置键值对的数据
    get通过键值获取值
    mset设置多对的键值对
    mget获取多对的键值对
    getset设置键值对,并返回原来的值
    setex设置键并设置过期时间
    append键值对追加内容,如果没有的话就设置值
    strlen返回指定字符串的长度
    incr数字值加1
    decr数字值减1
    incrby数字值加上一个指定的数
    decrby数字值减去一个指定的数

mysql想要在windows黑屏终端打开需要设置环境变量

  • 1.要找到mysql.exe的应用程序(也就是安装好的mysql),复制这个应用程序的路径

    例如(C:\Program Files\MySQL\MySQL Server 5.7\bin)

  • 2.右键-》系统属性-》高级系统设置-》环境变量-》系统变量-》path在后面追加上面复制的路径

  • 3.重新打开终端即可。

数据的结构的说明

  • 结构化数据:就是表数据

  • 半结构化数据:xml和json

  • 非结构化数据:图片,音频,视频

  • 哈希 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    命令说明
    hset设置单个字段
    hget获取单个字段
    hmset设置多个字段
    hmget获取多个字段
    hgetall获取所有字段
    hexsits判断某个键是否有有某一个字段
    hlen获取指定键的字段的数量
    hdel删除指定键的指定字段
    hkeys获取所有的字段名字
    hvals获取所有字段的值
    hincrby指定键的指定字段加上一个整数
    hincrbyfloat指定键的指定字段加上一个浮点数
  • 列表(list)

    命令说明
    lpush从左边(头部)插入数据
    lpop从左边(头部)弹出来数据
    lrange获取指定区间的数据,0表示的是开头,-1表示的是非常大的范围
    lindex根据下标获取数据
    llen统计元素的个数
    lset修改指定下标的值
    lrem删除个数的指定值
    linsert在指定元素前或者后插入数据
    ltrim修剪列元素,保留开始到结束的区间,删除掉
    rpush从右边插入数据
    rpop从右边弹出来数据
  • set(集合) Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

    命令说明
    sadd向集合中添加成员
    smembers查看集合中所有的的成员
    scard统计集合中成员的数量
    sismember判断某个成员是否在集合当中
    spop随机弹出并删除指定个数的成员,默认是1
    srandmember随机返回指定个数的元素,默认返回是1
    srem删除指定的元素,可以一次性删除多个
    smove将一个集合中的成员移动到另外一个集合中
    sinter求交集
    sinterstore求交集并保存到指定的集合中
    sdiff求并集减去交集
    sdiffstore求并集减去交集,并保存到指定的集合中
    sunion求并集
    sunionstore求并集并保存到指定的集合中
  • 有序集合(sorted set)

    • 说明:有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

      不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

      有序集合的成员是唯一的,但分数(score)却可以重复。

      命令说明
      zadd添加数据到有序集合
      zcard统计集合中的数量
      zcount统计指定区间范围的元素的个数
      zrange返回指定索引范围的一个元素,升序排序
      zrevrange返回指定索引范围的一个元素,降序排序
      zrangebyscore返回指定分数范围的元素,并升序排序
      zrank返回指定元素的索引,升序的
      zrevrank返回指定元素的索引,降序的
      zrem删除指定的元素可以一次性删除多个
      zscore返指定元素的分数
  • 事务操作

    命令说明
    multi开启事务
    exec执行事务
    discard取消事务
  • f发布订阅:发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

    命令说明
    subscribe订阅一个频道或者多个频道
    unsubscribe取消订阅频道
    publish向指定的频道发送消息
    pubsub查看活跃的频道信息

持久化存储

  • RDB:redis database 默认是开启的

    • 配置

      dbfilename dump.rdb      #保存数据的文件名字
      save 900   1           #更改了1个key,900s会自动保存
      save 300 10            #更改了10个key,300s   会自动保存     
      save 60 10000          #更改了10000个key,60s   会自动保存
      
    • 说明:

      • 服务器关闭以后会自动保存
      • 启动的时候数据会自动恢复

python链接redis数据库

re = redis.Redis(host="localhost",post=6370,password=123456)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值