zoukankan      html  css  js  c++  java
  • Redis-基本操作总结

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

    数据操作行为
    保存
    修改
    获取
    删除

    1、string类型
    1.1、保存:
    如果设置的键不存在则为添加,如果设置的键已经存在则修改

    设置键值
    set key value
    例如:设置键为name值为itcast的数据
    set name itcast

    设置键值及过期时间,以秒为单位
    setex key seconds value
    例如:设置键为name值为itcast时间为3秒的数据
    setex name1 3 itcast

    同时设置多个键值
    mset key1 value1 key2 value2 key3 value3
    例如:
    mset a1 python a2 java a3 c

    追加值:
    append key value
    例如:
    append a1 haha


    1.2、获取

    获取:根据键获取值,如果不存在此键则返回nil
    get key
    例如:get name

    根据多个键获取多个值
    mget key1 key2
    例如:mget a1 a2 a3


    1.3、键命令
    查找建,参数支持正则表达式
    keys pattern
    例如:查看所有的键
    keys *
    查看名称中包含a的键
    key a*

    判断键是否存在,如果存在返回1,不存在返回0
    exists key1
    例如:exists a1

    查看键对应的value的类型
    type key
    例如:type a1

    1.4、删除键及对应的值
    del key1 key2
    例如:del a2 a3

    1.5、设置过期时间,以秒为单位
    如果没有指定过期时间,则一直存在,直到使用DEL移除
    expire key seconds
    例如 expire a1 3

    1.6、查看有效时间,以秒为单位(剩下的)
    ttl key

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

    2.1、增加、修改
    设置单个属性
    hset key field value
    例如:设置键user的属性name为itheima
    hset user name itheima
    设置多个属性
    hmset key field1 value1 field2 value2
    例如:设置键u2的属性name为itcast,属性age为11
    hmset u2 name itcast age 11

    2.2、获取
    获取指定键所有的属性
    hkeys key
    例如:hkeys u2
    获取一个属性的值
    hget key field
    例如:hget u2 name
    获取多个属性的值
    hmget key field1 field2

    获取所有属性的值
    hvals key
    例如:hvals u2


    2.3、删除
    删除整个hash键及值,使用del命令
    删除属性,属性对应的值会被一起删除
    hdel key field1 field2
    例如:hdel u2 age


    3、列表list
    列表的元素类型为string
    按照插入顺序排序

    3.1、增加
    在左侧插入数据
    lpush key value1 value2
    例如:从键为a1的列表左侧加入数据a、b、c
    lpush a1 a b c
    右侧插入数据
    rpush key value1 value2
    例如:从键为a1 的列表右侧加入数据 0 1
    rpush a1 0 1

    在指定元素的前或后插入新元素
    linsert key before或after 现有元素 新元素
    例如:在键为 a1 的列表中元素 b 前 加入 3
    linsert a1 before b 3

    3.2、获取
    返回列表里指定范围内的元素
    start、stop 为元素的下标索引
    索引从左侧开始,第一个元素为0
    索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
    lrange key start stop

    例如获取键为a1 的列表所有元素
    lrange a1 0 -1


    3.3、设定指定索引位置的元素值

    索引从左侧开始,第一个元素为0
    索引可以是负数,表示尾部开始计数,如-1表示最后一个元素
    lset key index value

    可以进行修改键的值
    例如:修改键为a1的列表中下标为1的元素值为 z
    lset a 1 z

    3.4、删除
    删除指定元素
    将列表中前count 次出现的值为value的元素移除
    count > 0:从头往尾移除
    count < 0:从尾往头移除
    count = 0:移除所有
    lrem key count value


    4、set类型
    无序集合
    元素为string类型
    元素具有唯一性,不重复
    说明:对集合没有修改操作

    4.1、增加
    添加元素
    sadd key member1 member2
    向键 a3 的集合中添加元素shangsan lisi wangwu
    sadd a3 zhangsan lisi wangwu

    4.2、获取
    返回所有元素
    smembers key
    例如 smembers a3

    4.3、删除
    删除指定元素
    srem key member1
    例如:srem a3 wangwu


    4、zset类型
    有序集合
    元素为string类型
    元素具有唯一性,不重复
    每一个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到达排序

    4.1、增加
    添加元素
    zadd key score1 member1 score2 member2
    向键 a4 的集合中添加元素shangsan lisi wangwu,权重分别为4、5、6
    zadd a4 4 zhangsan 5 lisi 6 wangwu

    4.2、获取
    返回列表里指定范围内的元素
    start、stop 为元素的下标索引
    索引从左侧开始,第一个元素为0
    索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
    zrange key start stop

    例如获取键为a1 的列表所有元素
    zrange a4 0 -1

    返回score 值在min和max之间的成员
    zrangebyscore key min max
    例如zrangebyscore a4 5 6

    返回成员member的score值
    zscore key member
    例如 :zscore a4 zhangsan

    4.3、删除
    删除指定元素
    zrem key member1
    例如:zrem a4 zhangsan

    删除权重在指定范围的元素
    zremrangebyscore key min max
    例如:zremrangebyscore a4 5 6

  • 相关阅读:
    GIS Tools for Hadoop 详细介绍
    凤凰涅槃,浴火重生(2013年总结)
    13年我们依然在路上
    HDU 4022 Bombing (map + multiset)
    ArcGIS 10.2 操作SQLite
    hdu1690 Bus System (dijkstra)
    HDU 4704 Sum
    Dark Side of Cloud Storage —— 数据对像的分块消重
    gdb x查看二进制
    信号 signal sigaction补充
  • 原文地址:https://www.cnblogs.com/fuyouqiang/p/11824502.html
Copyright © 2011-2022 走看看