Redis学习笔记

Redis

Redis安装和配置

nosql

  • 不支持SQL语法
  • nosql中存储的数据都是KV形式
  • NoSQL没有通用语言

NoSQL和SQL数据库的比较

  • sql数据库适用于关系特别复杂的数据查询场景
  • sql对事务的支持十分完善,nosql不支持
    • sql:一组sql操作,要么都成功,要么都失败

服务端

名称 命令
开启服务 sudo service redis start
关闭服务 sudo service redis stop
重启服务 sudo service redis restart
查看是否启动 `ps -ef grep redis`
杀死redis服务器 sudo kill -9 pid

客户端

名称 命令
查看帮助文档 redis-cli --help
运行测试命令 ping
切换数据库 select num

数据结构

数据结构

  • redis是key-value的数据结构,每条数据都是一个键值对
  • 键的类型是字符串
  • 注意:键不能重复
  • 值得类型分为五种:
    • 字符串 string
    • 哈希 hash
    • 列表 list
    • 集合 set
    • 有序集合 zset

string

  • value最多512MB

键命令

保存

如果设置的的键不存在则添加,已存在则修改

  • 设置键

    set key  value
    setex key [seconds] value
    

    seconds:过期时间

  • 设置多个键

    mset key v [k v]...
    
  • 追加值

    append key value
    

获取

  • 根据键获取值

    get key
    
  • 根据多个键获取多个值

    mget key1 key2 ...
    

删除

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

    keys pattern
    
  • 判断是否存在

    exists key
    
  • 查看键对应的value的类型

    type key
    
  • 删除

    del key1 key2 
    
  • 设置过期时间

    expire key seconds
    
  • 查看有效时间

    ttl key
    

hash类型

  • 用于储存对象,对象的结构为属性、值
  • 值的类型为string

增加、修改

  • 设置单个属性

    hset key field value
    
  • 设置多个属性

    hmset key field1 value1 field2 value2
    

获取

  • 获取指定键的所有属性

    hkeys key
    
  • 获取一个属性的值

    hget key field
    
  • 获取多个属性的值

    hmget key field1 fields
    
  • 获取所有属性的值

    hvals key
    

删除

  • 删除整个hash键值,使用del命令

  • 删除属性,属性对应的值会被一起删除

    hdel key field1 field2 ...
    

列表

  • 元素类型string
  • 插入顺序排序

增加数据

  • 左侧插入

    lpush key value1 value2
    
  • 右侧插入

    rpush key value1 value2
    
  • 指定位置指定索引的元素

    linsert key before/after 现有 新获取
    

获取

lrange key start stop
  • 设置指定位置索引的元素
lset key index value

删除

lrem key count value
  • count > 0 从头到尾移除
  • count < 0 从尾到头移除
  • count = 0 移除所有

set类型

  • 无序
  • string类型
  • 元素唯一,不重复
  • 说明:集合没有修改操作

增加

  • 添加元素

    sadd key value1 value2
    

获取

  • 返回所有元素

    smembers key
    

删除

  • 删除指定元素

    srem key member1 member2
    

zset类型

  • 有序
  • string类型
  • 唯一,不重复
  • 每个元素都有一个double的score,表权重,排序按照权重从小到大
  • 说明:没有修改操作

增加

    zadd key score1 member1 score2 member2

获取

  • 返回指定范围start-stop
    zrange key start stop
  • 返回score在min和max之间的
    zrangebyscorekey min max
  • 返回成员member的score值
    zscore key member

删除

  • 指定元素
    zrem key member1 member2
  • 删除权重指定范围
    zremrangebyscore key min max

与python交互

安装

pip install redis

StrictRedis对象方法

sr=StrictRedis(host='localhost', port=6379, db=0)
简写
sr =StrictRedis()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容