menu ChaYedan
Redis入门
506 浏览 | 2020-04-20 | 阅读时间: 约 2 分钟 | 分类: 通用 | 标签: Redis
请注意,本文编写于 892 天前,最后修改于 779 天前,其中某些信息可能已经过时。

Redis简介

  • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
  • Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

特性

  • Redis 与其他 key - value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

应用场景

  • 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
  • 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
  • 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车
  • 只要你有丰富的想象力,redis可以用在可以给你无限的惊喜…….

数据结构

  • redis是key-value的数据结构,每条数据都是⼀个键值对
  • 键的类型是字符串
  • 注意:键不能重复

值的类型分为五种:

  • 字符串string
  • 哈希hash(存的是一个对象)
  • 列表list
  • 集合set
  • 有序集合zset
stringhashlistset(无序集合)zset(有序集合)用权重来排序
增加set/msethset/hmsetlpush/rpush/linsertsadd key member1 member2 ...zadd key score1 member1 score2 member2 ...
修改set/mset key '新值'hset key name '新值'lset 列表名 index value
查询get/mgethget/hmgetlrange lpop/rpop(边取边删)smemberzrange key start stop / zrangebyscore key min max / zscore key member
删除del(连key一起删)del a2 a3(多删操作)del/hdellrem*(下方备注)srem key valuezrem key member1 member2 ... / zremrangebyscore key min max
append(追加字符串)hkeys获取所有属性linsert key before或after 现有元素 新元素sismember 判断在不在集合里面zrevrang key start stop(降序)
setex key 过期时间 值hvals获取所有值

键的指令

  • 查找键,参数⽀持正则表达式

keys pattern

  • 例1:查看所有键

keys *

![查看所有键]

  • 例2:查看名称中包含a的键

keys a*

  • 判断键是否存在,如果存在返回1,不存在返回0

exists key1

  • 例3:判断键a1是否存在

exists a1

  • 查看键对应的value的类型

type key

  • 例4:查看键a1的值类型,为redis⽀持的五种类型中的⼀种

type a1

  • 删除键及对应的值

del key1 key2 ...

  • 例5:删除键a2、a3

del a2 a3

  • 设置过期时间,以秒为单位
  • 如果没有指定过期时间则⼀直存在,直到使⽤DEL移除

expire key seconds

  • 例6:设置键a1的过期时间为3秒

expire a1 3

  • 查看有效时间,以秒为单位

ttl key

  • 例7:查看键bb的有效时间

ttl bb

incr:加1

decr:减1

INCRBY num 5 : 每次增加5

相关网站

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,快来留言吧!