• redis数据结构


    说明:

          1. redis中所有数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key来获取对应的value

          2. 不同的数据类型数据结构差异就在于value的结构不一样

    1.redis简介

    1.Redis 数据库的介绍
    Redis 是使用C语言开发,支持网络,可基于内存亦可持久化的日志型 key--value 数据库,为开发语言提供多种API
    
    #Redis特性:
    1). redis存储数据,内存当中,可以将内存中的数据保存到磁盘中,重启可以在其加载
    2). redis不仅仅支持 key-value 结构(hash) 的数据,字符串(string),list(列表),set(集合),zset(有序集合)
    3). redis支持数据备份,master-slave模式的数据备份
    
    #redis
    1).性能极高 -redis读写速度可以达到110000次每秒,写入的速度81000次每秒
    2).丰富的数据类型: hash,string,list,set,zset
    3).原子性:redis的所有操作都是原子性的
    4).丰富的特性:redis还支持publish / subcribe(发布和订阅),通知,数据过期
    
    #redis的应用场景:
    1.用来做缓存 -- redis的所有数据是放在内存中的(内存型的数据库)
    2.可以应用再某些特定的场景,比如社交类应用
    3.在一些大型的系统中,巧妙的实现一些特定功能:购物车,session的共享
    

    2.redis启动 基于c/s架构

    1.1 redis-server confpath(路径)
    1.2 redis-cli
    

    3.string类型的简单操作

    1.单一的增加:set key value
    2.多个增加:mest key1 value1 key2 value2
    3.设置过期时间: setex key tiem value
    4.追加: append key value
    
    #查
    1).单一查询: get key
    2).多个查询: mget key1 key2 ......
    3).查询数据的过期时间: ttl key
    4).键的查询: keys *
     
    #改
    set key value
    
    #删
    1). del key1 key2 key3...
    2).设置了过期时间的数据,到期后自动删除
    

    3.hash(字典)类型

    hash类型用于存储对象,对象的结构为 {'属性': '值'} 其中值的类型是string类型
    
    # 增
    1.单一的增加:hset key field value
    2.多个增加(multiple): hmset key field1 value1 field2 value2
    # 查
    1.hget key field: 获取某个key对应的数据的一个字段的值
    2.hkeys key: 获取某个key对应数据的说有字段名
    3.hvals key: 获取某个key对应数据所有字段对应的值
    4.hmget key field1 field2 ....: 获取某个key对应多个字段的值
    5.hgetall key:获取某个key对应的所有键值对
    # 改
    hset key field value
    # 删
    1.hdel key field
    

    4.list类型

    # list类型
    列表, redis当中列表的元素是string类型, 安装顺序插入, 元素是存在顺序的
    
    4.1 增加
    1.左侧插入数据: lpush key v1 v2 v3 ....
    2.右侧插入数据: rpush key v1 v2 v3 ....
    3.中间插入数据: linsert key before/after element value
    
    4.2 查询:
    # 语法:lrange key start stop
    key: 数据的标签
    start: 开始的位置, 0
    stop: 结束的位置, 查询结果是包含stop索引位置元素的
        
    # 查询全部:lrange key 0 -1
    # 查询除最后一个元素之外的所有元素: lrange key 0 -2
    # 查询索引位置为5的: lrange key 5 5
    
    4.3 修改:
    语法: lset key index value
    index: 索引, 从左侧是0开始, 从右侧是-1开始
    
    # 删除:
    语法: lrem key count value    
    count: 大于0, 从头部向尾部依次移除count个元素    
    count: 小于0, 从尾部向头部    
    count: 等于0全部删除
  • 相关阅读:
    在SUSE12中使用 Machinery 进行高级系统管理
    有多个git项目要用多个秘钥
    Manage, Administrate and Monitor GlassFish v3 from Java code usingAMX & JMX
    apc smart UPS下使用apcupsd注意事项
    Eclipse用法和技巧二十二:快速调整字体大小
    OpenGL(十三) Alpha测试、剪裁测试
    什么图用什么工具画?
    什么图用什么工具画?
    scipy —— 丰富的子包(io、cluster)
    scipy —— 丰富的子包(io、cluster)
  • 原文地址:https://www.cnblogs.com/wonderlandlove/p/12775983.html
Copyright © 2020-2023  润新知