zoukankan      html  css  js  c++  java
  • Redis五种数据类型-设置key的过期时间

    1、redis命令客户端
    [root@localhost bin]# ./redis-cli
    127.0.0.1:6379>
    
    #是否运行着
    127.0.0.1:6379> ping
    PONG
    
    Redis五种数据类型:String、Hash、List、Set、SortedSet
    Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。
    
    Stringkey-value(做缓存)
    set key值 value值
    127.0.0.1:6379> set str1 abc
    OK
    get key值
    127.0.0.1:6379> get str1
    "abc"
    
    incr key值 将对应value值递增1 (生成id, 网站访问量)
    127.0.0.1:6379> incr key1
    (integer) 1
    127.0.0.1:6379> incr key1
    (integer) 2
    127.0.0.1:6379> get key1
    "2"
    decr key值 将对应value值递减1
    127.0.0.1:6379> decr key1 #2减1等于1了
    (integer) 1
    127.0.0.1:6379> decr key1
    (integer) 0
    127.0.0.1:6379> decr key1
    (integer) -1
    127.0.0.1:6379> get key1
    "-1"
    del key值 删除指定key值
    127.0.0.1:6379> set key2 bbb
    OK
    127.0.0.1:6379> keys *
    1) "key1"
    2) "key2"
    3) "str1"
    127.0.0.1:6379> del key2
    (integer) 1
    
    decrby key值 增量值 将对应value值按增量值递减
    incrby key值 增量值 将对应value值按增量值递增
    mset key值 value值 key值 value值 后面跟多个键值对
    
    其他:
    keys * 查询redis中存储的所有key值
    127.0.0.1:6379> keys *
    1) "str1"
    
    Hash:key-fields-value(做缓存)
    相当于一个key对于一个map,map中还有key-value
    使用hash对key进行归类。
    
    hset key fields values 向hash中key值添加内容fileds-value值
    127.0.0.1:6379> hset hash1 field1 11
    (integer) 1
    127.0.0.1:6379> hset hash1 field2 22
    (integer) 1
    127.0.0.1:6379> hset hash1 field3 33
    (integer) 1
    
    hget key fields 从hash中key值取内容fileds中的value值
    127.0.0.1:6379> hget hash1 field1
    "11"
    
    127.0.0.1:6379> keys * 查看所有key值
    1) "key3"
    2) "key4"
    3) "hash1"
    4) "key1"
    5) "str1"
    
    hkeys key值 查看key值下面的所有field值
    127.0.0.1:6379> hkeys hash1 查看hash正在的hash1下的所有field值
    1) "field1"
    2) "field2"
    3) "field3"
    
    hvals key值 查看key值下面的所有value值
    127.0.0.1:6379> hvals hash1 查询hash1下面的所有value值
    1) "11"
    2) "22"
    3) "33"
    
    hgetall key值 查看key值下面的所有field-value键值对
    127.0.0.1:6379> hgetall hash1 查询hash1下面的所有field-value
    1) "field1"
    2) "11"
    3) "field2"
    4) "22"
    5) "field3"
    6) "33"
    
    hdel key值 field值 删除指定key值下面的field值
    127.0.0.1:6379> hkeys hash1
    1) "field1"
    2) "field2"
    3) "field3"
    127.0.0.1:6379> hdel hash1 field1 删除hash1下面的field1
    (integer) 1
    127.0.0.1:6379> hkeys hash1
    1) "field2"
    2) "field3"
    
    List:有顺序可重复(处理不完时,排队相关处理)
    
    lpush key值 value1值 value2值 … #向key的左边追加value值
    127.0.0.1:6379> lpush list1 1 2 3 4 5
    (integer) 4
    
    #从左往右,查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
    lrange key值 startIndex endIndex
    127.0.0.1:6379> lrange list1 0 -1
    1) "5"
    2) "4"
    3) "3"
    4) "2"
    5) "1"
    
    lpush key值 value1值 value2值 … #向key的右边追加value值
    127.0.0.1:6379> rpush list1 a b c d f
    (integer) 10
    127.0.0.1:6379> lrange list1 0 -1
    1) "5"
    2) "4"
    3) "3"
    4) "2"
    5) "1"
    6) "a"
    7) "b"
    8) "c"
    9) "d"
    10) "f"
    
    lpop key值 #从key值里的左边取出1个元素值,取出后从key值消失,返回取出的值
    127.0.0.1:6379> lpop list1
    "5"
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "a"
    6) "b"
    7) "c"
    8) "d"
    9) "f"
    
    rpop key值 #从key值里的右边取出1个元素值,取出后从key值消失,返回取出的值
    127.0.0.1:6379> rpop list1
    "f"
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "a"
    6) "b"
    7) "c"
    8) "d"
    
     
    Set:元素无顺序,不能重复(去重)
    
    sadd key值 value1值 value2值 … #向key的添加value值 ,如果有重复数据会只保留一个
    127.0.0.1:6379> sadd set1 a a b b c d
    (integer) 4
    
    smembers key值 查询key值中所有value值
    127.0.0.1:6379> smembers set1
    1) "d"
    2) "a"
    3) "c"
    4) "b"
    
    srem key值 value值 删除key值中的value值
    127.0.0.1:6379> srem set1 d
    (integer) 1
    127.0.0.1:6379> smembers set1
    1) "a"
    2) "c"
    3) "b"
    
    集合运算命令:差集sdiff 、交集sinter 、并集sunion:
    127.0.0.1:6379> sadd seta a b c d
    (integer) 4
    127.0.0.1:6379> sadd setb c d e f
    (integer) 4
    
    sdiff key1值 key2值 取差集,取key1值集合中所特有的元素
    127.0.0.1:6379> sdiff seta setb #取seta中所特有的
    1) "a"
    2) "b"
    127.0.0.1:6379> sdiff setb seta #取setb中所特有的
    1) "e"
    2) "f"
    
    sinter key1值 key2值 取交集,取key1值与key2值集合中相同的元素
    127.0.0.1:6379> sinter seta setb
    1) "d"
    2) "c"
    
    sunion key1值 key2值 取并集,取key1值与key2值集合中所有元素
    127.0.0.1:6379> sunion seta setb
    1) "d"
    2) "f"
    3) "c"
    4) "b"
    5) "a"
    6) "e"
    
    
    SortedSet(zset):有顺序,不能重复 (服务器消耗最高,要排序还要去重,尽量少用,)
    
    zadd key值 分数1 value1 分数2 value2 … 向key的添加多个value值,按分数进行排序
    192.168.25.153:6379> zadd zset1 1 a 3 b 2 c 4 d
    (integer) 4
    
    #升序排列查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
    zrange key值 startIndex endIndex
    127.0.0.1:6379> zrange zset1 0 -1
    1) "a"
    2) "c"
    3) "b"
    4) "d"
    
    #降序排列查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
    zrevrange key值 startIndex endIndex
    127.0.0.1:6379> zrevrange zset1 0 -1
    1) "d"
    2) "b"
    3) "c"
    4) "a"
    
    zrem key值 value值 删除key值中会value值
    127.0.0.1:6379> zrem zset1 a
    (integer) 1
    127.0.0.1:6379> zrange zset1 0 -1
    1) "c"
    2) "b"
    3) "d"
    
    zrange key值 0 -1 withscores 查询出key中的value与分数值
    127.0.0.1:6379> zrange zset1 0 -1 withscores
    1) "c"
    2) "2"
    3) "b"
    4) "3"
    5) "d"
    6) "4"
    
    
    设置key的过期时间:
    
    1、expire key second:设置key的过期时间(秒)
    127.0.0.1:6379> expire key1 100 key1在100秒后过期
    (integer) 1
    2、ttl key:查看key的有效期
    127.0.0.1:6379> ttl key1
    (integer) 73 大于0,还剩余多少秒存活时间
    127.0.0.1:6379> ttl key1
    (integer) -2 -2 不存在redis中,
    127.0.0.1:6379> ttl list1
    (integer) -1 -1 永久有效,持久化
    
    3、persist key:清除key的过期时间。Key持久化。
    127.0.0.1:6379> set str2 bbb 新增str2值
    OK
    127.0.0.1:6379> ttl str2 查看str2目前的有效期:持久化
    (integer) -1
    127.0.0.1:6379> expire str2 100 设置str2的有效期100秒
    (integer) 1
    127.0.0.1:6379> ttl str2 查看str2目前的有效期:倒计时
    (integer) 96
    127.0.0.1:6379> persist str2 清除str2的过期时间
    (integer) 1
    127.0.0.1:6379> ttl str2 查看str2目前的有效期:持久化
    (integer) -1
    --------------------- 
    作者:IT-奔跑者 
    来源:CSDN 
    原文:https://blog.csdn.net/kiss199203/article/details/73549091 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    三:redis的数据类型
    二:redis配置
    一:redis安装(Windows)
    Mysql数据库的调优
    JAVA中的设计模式四(装饰模式)
    tomcat启动正常,但是访问项目时,404. Eclipse没有正确部署工程项目
    在eclipse中安装jadclipse的反编译插件
    部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】
    自动生成编号,id,序号,采用不同策略生成
    POI实现Excel导入导出
  • 原文地址:https://www.cnblogs.com/sgm4231/p/9917171.html
Copyright © 2011-2022 走看看