zoukankan      html  css  js  c++  java
  • redis的基本使用

    redis的基本使用

    数据类型

    redis支持多种数据类型,常用的是这5种
    image

    String常用指令

    • 设置/修改值(key存在则做添加,不存在则做修改)
      • set key value
    • 设置/修改值(有过期时间)
      • setex key time value
      • 例:setex key3 10 123,表示10秒后过期,key3的value由123变成nil
    • 设置值(若key不存在则做添加,存在则不做操作
      • setnx key value
      • 利用这一特性实现分布式锁
    • 取值
      • get key
    • 批量添加
      • mset k1 v1 [k2 v2 k3 v3 ...]
    • 批量取值
      • mget k1 [k2 k3 ...]
    • 在key对应的上实现value自增/自减(其value一般是数字)
      • incr key
      • decr key
    • 在key对应的value上实现加x/减x
      • incrby key x
      • decrby key x
    • 在指定的key对应的value拼接字符串
      • append key value
      • 例:若key1对应的value的值是“aaa”,则在append key1 bbb操作后,key1对应的value值是aaabbb
    • strlen key
      • 获取key对应的value值的长度

    Hash常用指令

    • 往key对应的hash中添加键值对
      • hset key field value
    • 往key对应的hash中添加键值对,如果field在hash中已经存在,则添加失败
      • hsetnx key field value
    • 从对应的key中获取对应的field的值
      • hget key field
    • 往对应的key中批量添加/获取键值对
      • hmset key f1 v1 [f2 v2 ...]
      • hmget key f1 v1 [f2 v2 ...]
    • key对应的field的value值加value
      • hincrby key field value
    • 获取key对应的hash中所有的键值对
      • hgetall key
    • 获取key对应的hash中所有的field
      • hkeys key
    • 获取key对应的hash中所有的value
      • hvals key
    • 检查key对应的hash中是否有指定的field
      • hexists key field
    • 获取key对应的hash中的键值对个数
      • hlen key

    List常用指令

    • 存储数据(从左往右添加数据/从右往左添加数据)
      • lpush key value
      • rpush key value
    • 获取数据
      • lpop key
      • rpop key
    • 修改key对应的列表中对应索引位置的数据(从左往右,从0开始计数)
      • lset key index value
    • 查看key对应列表中,索引从start到stop的数据
      • lrange key start stop
    • lindex key index
      • 查看key对应列表中指定索引处的值
    • 获取key对应列表中的元素个数
      • llen key
    • 截取key对应的列表中[start,stop]的值,不在此范围的数据会被清除
      • ltrim key start stop
    • 从k1右侧取出一个数据,存放到k2左侧
      • rpoplpush k1 k2

    Set常用指令(元素无序且不重复)

    • 存储元素,在key对应的集合中添加一个或多个元素
      • sadd key v1 [v2 v3 ...]
    • 遍历key对应集合中的所有元素
      • smembers key
    • 随机从key对应的集合中获取一个值(出栈)
      • spop key
    • 取两个集合的交集
      • sinter key1 key2
    • 取两个集合的并集
      • sunion key1 key2
    • 取两个集合的差集
      • sdiff key1 key2
    • 从key对应的集合中移除某元素
      • srem key value
    • 检查key对应的集合中是否有指定的value
      • sismember key value

    zset常用指令(元素有序且不重复)

    • 存储数据(score存储的位置必须是数值,可以是float类型的任意数字)
      • zadd key score1 member1 [score2 member2 ...]
    • 查看key对应的集合中索引[start,stop]中的数据(按照score值递增排序输出)
      • zrange key start stop
    • 查看member元素在key对应集合中的索引
      • zscore key member
    • 获取key对应的集合中的元素个数
      • zcard key
    • 获取key对应集合中,索引在[min,max]范围内的元素个数
      • zcount key min max
    • 移除元素member
      • zrem key member
    • 查看索引[start,stop]中的数据(按照score值递减排序输出)
      • zrevrange key start stop

    其他指令

    • 为有时间限制的键值对延长过期时间
      • expire key s
      • pexpire key ms
    • 查看指定key的剩余时限
      • ttl key
    • 选择数据库(默认进入的数据库是[0])
      • select number
      • 注:若进入了[1]数据库,则会显示image
    • 清除当前数据库的所有数据
      • flushdb
    • 清除所有数据库的所有数据
      • flushall
    • 查询上一次执行持久化的时间
      • lastsave
  • 相关阅读:
    JS 数字时钟的代码(摘录,忘了是从哪了)
    数据写入DataTable C# 2005
    C# 进制转化问题测试下再说(网上的直接转化不好用)
    防sql 注入,就是将sql 的执行命令给排除
    今天研究了一下午网站窄屏/宽屏的切换实现
    解决VS2005下中文输入法全角半角混乱的补丁
    一些实用的站长查询工具
    UE(用户体验)无处不在,留心处处皆学问
    添加了方便聚合的链接
    该好好整理一下自己了
  • 原文地址:https://www.cnblogs.com/whyblogs/p/15043990.html
Copyright © 2011-2022 走看看