zoukankan      html  css  js  c++  java
  • Redis从0到精通--Redis五种数据类型

    Redis五大数据类型

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。

    Redis-key

    在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作,来完成对数据库中数据的操作。

    下面学习的命令:

    exists key:判断键是否存在

    del key:删除键值对

    move key db:将键值对移动到指定数据库

    expire key second:设置键值对的过期时间

    type key:查看value的数据类型

    127.0.0.1:6379> keys * # 查看当前数据库所有key
    (empty list or set)
    127.0.0.1:6379> set name qinjiang # set key
    OK
    127.0.0.1:6379> set age 20
    OK
    127.0.0.1:6379> keys *
    1) "age"
    2) "name"
    127.0.0.1:6379> move age 1 # 将键值对移动到指定数据库
    (integer) 1
    127.0.0.1:6379> EXISTS age # 判断键是否存在
    (integer) 0 # 不存在
    127.0.0.1:6379> EXISTS name
    (integer) 1 # 存在
    127.0.0.1:6379> SELECT 1
    OK
    127.0.0.1:6379[1]> keys *
    1) "age"
    127.0.0.1:6379[1]> del age # 删除键值对
    (integer) 1 # 删除个数
    
    
    127.0.0.1:6379> set age 20
    OK
    127.0.0.1:6379> EXPIRE age 15 # 设置键值对的过期时间
    
    (integer) 1 # 设置成功 开始计数
    127.0.0.1:6379> ttl age # 查看key的过期剩余时间
    (integer) 13
    127.0.0.1:6379> ttl age
    (integer) 11
    127.0.0.1:6379> ttl age
    (integer) 9
    127.0.0.1:6379> ttl age
    (integer) -2 # -2 表示key过期,-1表示key未设置过期时间
    
    127.0.0.1:6379> get age # 过期的key 会被自动delete
    (nil)
    127.0.0.1:6379> keys *
    1) "name"
    
    127.0.0.1:6379> type name # 查看value的数据类型
    string
    
    

    关于TTL命令

    Redis的key,通过TTL命令返回key的过期时间,一般来说有3种:

    1. 当前key没有设置过期时间,所以会返回-1.
    2. 当前key有设置过期时间,而且key已经过期,所以会返回-2.
    3. 当前key有设置过期时间,且key还没有过期,故会返回key的正常剩余时间.

    关于重命名RENAME和RENAMENX

    • RENAME key newkey修改 key 的名称
    • RENAMENX key newkey仅当 newkey 不存在时,将 key 改名为 newkey 。
  • 相关阅读:
    隐性改变display类型
    垂直居中-父元素高度确定的多行文本(方法二)
    去掉WIN7 桌面图标的小箭头
    搭建高可用mongodb集群(三)—— 深入副本集内部机制
    搭建高可用mongodb集群(二)—— 副本集
    搭建高可用mongodb集群(一)——配置mongodb
    Linux:Tomcat报错: Error creating bean with name 'mapScheduler' defined in ServletContext resource 的解决方法
    LINUX ORACLE 启动与关闭
    Linux 安装 Oracle 11g R2
    ORACLE 数据库优化原则
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/15405585.html
Copyright © 2011-2022 走看看