Redis入门教程

Redis简介

Redis是一种Key-value数据库

Redis是nosql(非关系型数据库)技术阵营的一员,可以胜任如缓存、队列系统的不同角色。

Redis特性

Redis与其他key-value缓存产品有以下三个特点:

  • Redis支持数据库持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

  • Redis不仅仅支持简单的key-value类型数据,同时还提供 list、set、zset、hash等数据结构的存储。

  • Redis支持数据备份,即master-slave(主从)模式的数据备份。

Redis优势

  • 性能极高:读取速度快!!! 读110000次/s,写81000次/s。差不多是mysql读写速度的8~20倍。
  • 丰富的数据类型:支持 String、Lists、Sets、Hashes、Ordered Sets等操作。
  • 原子:Redis的所有操作都是原子性的,同时支持几个操作全并后的原子性执行。
  • 丰富的特性:支持publish/subscribe,通知,key过期等。

Redis应用场景

  • 做缓存:redis的所有数据是放在内存中的(内存数据库)。
  • 在特定场景下代替传统数据库:如社交类应用。
  • 大型系统中,实现特定功能如session共享、购物车。

数据操作

启动服务:redis-server

启动客户端:redis-cli

操作String
  • 单个键值对:set key value
  • 多个键值对,有效期:setex key second value
  • 设置多个键值对:mset key1 value1 key2 value2…
  • 追加值:append key value
获取数据
  • 获取单个值:get key
  • 获取多个值:mget key1 key2…
通过键查看值
  • 查看所有的键:keys *
  • 查看以a开头的键:keys a*
  • 看键是否存在:exists key1
  • 查看键的类型:type key1
删除键值对
  • 删除键: del key1 key2…
  • 设置键有效期,删除键:expire key seconds
  • 查看键的有效期:ttl sex
清空redis
  • flushall

操作hash

  • 增加数据:hset person name zhouxiangqian

    ​ hmset key field1 value1 field2 value2…

  • 获取数据:hget key field

    ​ hmget key field1 field2…

  • 删除数据:hdel key field1 field2…

操作List

  • 插入数据:

在这里插入图片描述

​ 左侧插入数据 lpush list 1 2 3 4

​ 右侧插入数据 rpush list 7 8 9

​ 指定key,旧元素位置前插入元素 linsert key before oldvalue newvalue

​ 指定key,旧元素位置后插入元素 linsert key after oldvalue newvalue

  • 获取数据:

    1. 获取从编号start位置到编号stop位置的元素

      lrange key start stop

      (最后一个元素可以使用-1表示)

      	2. 设置指定索引位置的元素值:lset key index value
      
  • 删除数据:

    1. 将key域列表中,前count次,值为value的元素删除:

      ​ lrem key count value

      如:lrem list 0 a

      ​ lrem list -1 c

      ​ lrem list 2 b

      tip:count>0:从头开始数

      ​ count<0:从尾到头

      ​ count=0查找所有元素

操作set

  • 添加元素

    ​ 向key域(集合)添加多个元素 sadd key member1 member2…

    ​ sadd set 1 2 3 4 5 6 7

  • 获取元素

    ​ 获取key域(集合)所有元素:smembers set

  • 删除元素

    ​ 删除指定key元素值:srem key value

操作zset

  • 增加数据

    • 向key域集合中添加多个score1,member1数据
    • 格式:zadd key score1 member1 score1 member2…
    • zadd zset 10 zhangsan 20 lisi 30 wangwu
  • 获取数据

    • 返回指定范围内的member元素

      格式:zrange key start stop(start为开始索引,stop为结尾索引)

    • 获取min和max权值之间(包含)的成员值

      格式:zrangbyscore key min max

    • 获取key域集合中member的score权重值

      zscore key member

  • 删除数据

    1. 删除域集合中指定的元素值:

      zrem key member1 member2…

    2. 删除集合中权重在指定范围内的元素:

      zremrangebyscore key min max

pycharm中使用redis

  1. 首先安装redis:pip isntall redis
  2. 导入redis类:from redis import StrictRedis
  3. 创建redis对象,关联ip,port
  4. 进行操作

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值