zoukankan      html  css  js  c++  java
  • redis简单操作

    一、redis 基础操作

    1.1、string 类型及操作

    string 是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string可以包含任何数据。

    1、set: 设置值
    127.0.0.1:6379> set name haha
    OK
    
    2、setnx: 设置值,如果键已经存在则返回0,否则返回1
    127.0.0.1:6379> setnx name haha
    (integer) 0
    127.0.0.1:6379> setnx info a
    (integer) 1
    
    3、get:获取键对应的值
    127.0.0.1:6379> get name
    "haha"
    
    4、mset,mget:设置或者获取多个键值对
    127.0.0.1:6379> MSET name haha age 18 sex nv
    OK
    127.0.0.1:6379> MGET name age sex
    1) "haha"
    2) "18"
    3) "nv"
    
    5、incrby:对 key 的值做加加(指定值)操作,并返回新的值
    127.0.0.1:6379> INCRBY age 2
    (integer) 22
    
    6、incr:对 key 的值做加值,并返回新的值
    127.0.0.1:6379> INCR age
    (integer) 19
    
    7、del:删除一个已创建的 key
    127.0.0.1:6379> del name
    (integer) 1
    
    
    1.2、hash 类型及操作

    Redis hash 是一个 string 类型的 field(字段)和 value 的映射表,hash 特别适合用于存储对象,相较于将对象的每个字段存成单个 string 类型,将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。

    1、hset:设置 hash field 为指定值,如果 key 不存在,则先创建。
    127.0.0.1:6379> HSET dic name huahua
    (integer) 1
    
    2、hget、hmset、hmget,与上面的string类似    
    127.0.0.1:6379> HMSET dic1 name ah age 18
    OK
    
    3、 hdel:删除制定表中的某一个键值对 
    127.0.0.1:6379> HDEL dic1 name
    (integer) 1
    
    4、hgetall:列出表中的所有键值对
    127.0.0.1:6379> HGETALL dic1
    1) "age"
    2) "18"
    
    
    1.3、list 类型及操作

    list 是一个链表结构,主要功能是 push、pop、获取一个范围内的所有值等等,操作中 key 理解为链表的名字。Redis 的 list 类型其实就是一个每个子元素都是 string 类型的双向链表。我们可以通过 push、pop 操作从链表的头部或尾部添加删除元素。

    1、lpush:在 key 对应 list 从左添加字符串元素
    127.0.0.1:6379> LPUSH name haha ee nnn
    (integer) 3
    
    2、lrange:在 key 对应 list 从左遍历字符串元素,需指定起始和结束索引
    127.0.0.1:6379> LRANGE name 0 -1
    1) "nnn"
    2) "ee"
    3) "haha"
    
    3、lpop:在 key 对应 list 从左删除一个元素
    127.0.0.1:6379> LPOP name
    "nnn"
    
    4、rpop,rpush 类似,不过是从list右边插入与删除
    
    1.4、Set 类型及操作

    set 是集合,他是 string 类型的无序集合。Set 是通过 hash table 实现的,对集 、交集、差集。通过这些操作,集合不允许有重复值。

    1、sadd:添加一个或多个元素到集合中
    127.0.0.1:6379> sadd k1 1 2 3 4 5 
    (integer) 5
    
    2、smembers:获取集合里面所有的元素
    127.0.0.1:6379> SMEMBERS k1
    1) "1"
    2) "2"
    3) "3"
    4) "4"
    5) "5"
    
    3、srem:从集合中删除指定的一个或多个元素
    127.0.0.1:6379> SREM k1 2
    (integer) 1
    
    4、spop:随机从集合中删除一个元素,并返回 
    127.0.0.1:6379> SPOP k1
    "3"
    
    5、sdiff:返回集合 1 与集合 2 的差集
    127.0.0.1:6379> SDIFF k1 k2
    1) "1"
    
    6、sinter:获得两个集合的交集
    127.0.0.1:6379> SINTER k1 k2
    1) "4"
    2) "5"
    
    7、sunion:获得两个集合的并集 
    127.0.0.1:6379> SUNION k1 k2
    1) "1"
    2) "3"
    3) "4"
    4) "5"
    5) "6"
    
    8、scard: 返回集合内元素个数
    127.0.0.1:6379> SCARD k1
    (integer) 5
    
    1.5 zset 类型及操作

    zset 是 set 的一个升级版本,它在 set 的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset 会自动重新按新的值调整顺序。可以理解为有两列的 mysql 表,一列存的 value,一列存的顺序。操作中 key 理解为 zset 的名字.

    1、zadd:向一个指定的有序集合中添加元素,每一个元素会对应的有一个分数。你可以指定多个分数/成员组合。如果一个指定的成员已经在对应的有序集合中了,那么其分数就会被更新成最新的,并且该成员会重新调整到正确的位置,以确保集合有序。分数的值必须是一个表示数字的字符串。
    127.0.0.1:6379> ZADD  xx  1 zs 2 ls
    (integer) 2
    
    2、zrange:返回有序集合中,指定区间内的成员。其中成员按照 score(分数)值从小到大排序。
    127.0.0.1:6379> ZRANGE xx 0 -1
    1) "zs"
    2) "ls"
    
    3、zrem: 删除有序集合内元素
    127.0.0.1:6379> ZREM xx zs
    (integer) 1
    
    4、zcard:返回有序集合元素的个数
    127.0.0.1:6379> ZCARD xx
    (integer) 1
    
    

    二、其他命令

    1、keys:按照键名查找指定的键。支持通配符(* ?等)
    127.0.0.1:6379> keys *
     1) "age"
     2) "dics"
     3) "dic"
     4) "sex"
     5) "xx"
    
    2、 exists:确认一个键是否存在(1 表示存在)
    127.0.0.1:6379> EXISTS age
    (integer) 1
    
    3、 del:删除一个键(通用)
    127.0.0.1:6379> del age
    (integer) 1
    
    
    4、expire:设置一个键(已存在)的过期时间,如果键已经过期,将会被自动删除
    127.0.0.1:6379> EXPIRE age 20
    (integer) 0
    
    
    5、ttl:以秒为单位,返回指定键的剩余有效时间

    当 key 不存在时,返回 -2
    当 key 存在但没有设置剩余生存时间时,返回 -1
    否则,以秒为单位,返回 key 的剩余生存时间。

    127.0.0.1:6379> TTL age
    (integer) -2
    127.0.0.1:6379> ttl k2
    (integer) -1
    
    6、select:选择一个数据库,默认连接的数据库是 0,可以支持共 16 个数据库。在配置文件中,通过 databases 16 关键字定义。
    127.0.0.1:6379> SELECT 1
    OK
    127.0.0.1:6379[1]> keys *
    1) "k1"
    
    
    7、move:将当前数据库的键移动到指定的数据库中
    127.0.0.1:6379> MOVE k1 1
    (integer) 1
    
    8、type:返回键的类型
    127.0.0.1:6379[1]> TYPE k1
    set
    
    9、dbsize:返回当前库中键的数量
    127.0.0.1:6379> DBSIZE 
    (integer) 10
    
    10、save:保存所有的数据。很少在生产环境直接使用 SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用 BGSAVE 命令代替. 如果在 BGSAVE 命令的保存数据的子进程发生错误的时,用 SAVE 命令保存最新的数据是最后的手段。
    11、info:获取服务器的详细信息
    12、config get:获取 redis 服务器配置文件中的参数。支持通配符
    127.0.0.1:6379> CONFIG GET *
    #获取所以配置参数
    127.0.0.1:6379> CONFIG GET port
    1) "port"
    2) "6379"
    
    13、flushdb:删除当前数据库中所有的数据
    14.、flushall:删除所有数据库中的所有数据
  • 相关阅读:
    VM启用ISO共享
    部署服务--NLB
    SCVMM问题汇总
    判断文件是否存在(exist)
    函数(Function)作用域 / 远程函数执行
    基于433MHz无线串口,多发一收解决方案
    ZigBee自组网地址分配与路由协议概述
    Zigbee协议栈--Z-Stack的使用
    RT-Thread RTOS
    信息量、互斥信息量和事件标志
  • 原文地址:https://www.cnblogs.com/hjnzs/p/12210759.html
Copyright © 2011-2022 走看看