Redis简介与使用

Redis

简述

什么是Redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,并提供多种语言的API。

什么是Nosql

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。泛指非关系型数据库。

处理数据量增大、数据变化快、系型数据库缓慢的问题

  • 特点

    • 方便扩展
    • 大数据量高性能
    • 数据类型是多样的(不需要事项自己设计数据库)
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zEZK6r50-1654409260309)(E:\笔记\images\image-20220420102214077.png)]

  • NoSQL 数据库分类

    • 列存储
      • Hbase,Cassandra,Hypertable
    • K-V键值对
      • redis,MemcacheDB
    • 图存储
      • Neo4J,FlockDB
    • 文档存储(json,Bson)
      • MongoDB(最像关系型数据库的非关系型数据库),CouchDB

Redis安装配置

  • redis安装目录下执行: redis-server.exe redis.windows.conf,开启redis服务

  • 另外开一个窗口:redis-cli.exe -h 127.0.0.1 -p 6379

  • 其他安装:Redis 安装_w3cschool

  • redis配置

    • Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.windows.conf (x64)
    • config命令:
      • CONFIG GET CONFIG_SETTING_NAME
        • config get *获取全部配置
      • 通过修改 redis.windows.conf 文件或使用 CONFIG set 命令来修改配置

redis数据类型

Redis支持五种数据类型:string(字符串)hash(哈希)list(列表)set(集合)zset(sorted set:有序集合)

  • string类型

    • k-v
    • 二进制安全
    • 一个key最大存储512M
    • 指令
      • set,get,strlen,append,incr,decr,incrby,decrby(按步长增加或者减少)
      • getrange(子串),0 -1返回整个字符串
      • setrange替换指定位置开始的字符串
      • setex:将值 value 关联到 key ,并将 key 的过期时间设为 seconds
      • setnx : 只有在 key 不存在时设置 key 的值。
      • Mset: 同时设置一个或多个 key-value 对。
      • Mget: 获取所有(一个或多个)给定 key 的值
  • Hash(key==>Map)

  • List(列表)

    • Redis 列表是简单的字符串列表,按照插入顺序排序。

    • lpush添加,lrange遍历

    • lpush w3cschool.cn redis,mongodb,rabbitmq

    • lrange w3cschool.cn 0 3类似数组index

    • 可以当栈,队列,阻塞队列

    • 命令(L开头)

    • 命令 描述
      Redis Lindex 命令 通过索引获取列表中的元素
      Redis Rpush 命令 在列表尾部添加一个或多个值
      Redis Lrange 命令 获取列表指定范围内的元素
      Redis Rpoplpush 命令 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
      Redis Blpop 命令 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
      Redis Brpop 命令 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
      Redis Brpoplpush 命令 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
      Redis Lrem 命令 移除列表元素
      Redis Llen 命令 获取列表长度
      Redis Ltrim 命令 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
      Redis Lpop 命令 移出并获取列表的第一个元素
      Redis Lpushx 命令 将一个或多个值插入到已存在的列表头部
      Redis Linsert 命令 在列表的元素前或者后插入元素
      Redis Rpop 命令 移除并获取列表最后一个元素
      Redis Lset 命令 通过索引设置列表元素的值
      Redis Lpush 命令 将一个或多个值插入到列表头部
      Redis Rpushx 命令 为已存在的列表添加值
  • Set(集合)唯一

    • Setstring 类型的无序集合,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)

    • sadd 命令,添加一个 string 元素到key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回0,key 对应的 set 不存在返回错误

    • smembers key查看元素

    • 命令 描述
      Redis Sunion 命令 返回所有给定集合的并集
      Redis Scard 命令 获取集合的成员数
      Redis Srandmember 命令 返回集合中一个或多个随机数
      Redis Smembers 命令 返回集合中的所有成员
      Redis Sinter 命令 返回给定所有集合的交集
      Redis Srem 命令 移除集合中一个或多个成员
      Redis Smove 命令 将 member 元素从 source 集合移动到 destination 集合
      Redis Sadd 命令 向集合添加一个或多个成员
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w͏l͏j͏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值