• redis五大数据类型


    Redis的五大数据类型

    redis的五大数据类型是,String(字符串),Hash(哈希),List(列表),Set(集合),zset(sorted set: 有序集合)

    string字符串

    string是redis最基本的类型,一个key对应一个value

    Str1 := "hello"

    Str2 := "张三"

    string是redis最基本的类型,一个key对应一个value

    string类型是二进制安全的,除普通的字符串除外,也可以存放图片等数据

    redis中字符串value最大是512M

    

    举例: 存放一个地址信息
    1127.0.0.1:6379> set address 北京
    OK
    127.0.0.1:6379> get address
    "xe5x8cx97xe4xbaxac"
    127.0.0.1:6379> del address
    (integer) 1
    127.0.0.1:6379> get address
    (nil)
    .0.1:6379> set address 北京
    OK
    127.0.0.1:6379> get address
    "xe5x8cx97xe4xbaxac"
    
    redis存放带生存时间的值

    setex 键 秒 值

    127.0.0.1:6379> setex mess01 10 hello,you //设置mess01 10s过期
    OK
    127.0.0.1:6379> get mess01
    "hello,you"
    127.0.0.1:6379> get mess01    //等待10秒后再获取发现变成空值了
    (nil)
    
    redis一次设置多个键值
    127.0.0.1:6379> mset worker01 tom worker02 scott
    OK
    127.0.0.1:6379> get worker01
    "tom"
    127.0.0.1:6379> get worker02
    "scott"
    127.0.0.1:6379> mget worker01 worker02
    1) "tom"
    2) "scott"
    

    存储hash值

    redis hash是一个键值对集合

    redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

    127.0.0.1:6379> hset user1 name "smith"
    (integer) 1
    127.0.0.1:6379> hset user1 age 30
    (integer) 1
    127.0.0.1:6379> hget user1 name
    "smith"
    127.0.0.1:6379> hget user1 age
    "30"
    127.0.0.1:6379> hgetall user1 //一次获取所有信息
    1) "name"
    2) "smith"
    3) "age"
    4) "30"
     
    127.0.0.1:6379> hmset user2 name jerry age 110 job "Go coder" //一次设置一个用户所有信息
    OK
    127.0.0.1:6379> hmget user2 name age //一次获取多个字段,可选字段
    1) "jerry"
    2) "110"
    127.0.0.1:6379> hlen user2 //判断对象有多少个字段
    (integer) 3
    127.0.0.1:6379> HEXISTS user2 age //判断对象有无此字段
    (integer) 1
    
    redis中的list
    127.0.0.1:6379> lpush city beijing shanghai tianjing //从list左边添加
    (integer) 3
    127.0.0.1:6379> lrange city 0 -1
    1) "tianjing"
    2) "shanghai"
    3) "beijing"
    127.0.0.1:6379> rpush city suzhou //从list右边边添加
    (integer) 4
    127.0.0.1:6379> lrange city 0 -1
    1) "tianjing"
    2) "shanghai"
    3) "beijing"
    4) "suzhou"  //因为从右边添加的,所以suzhou出现在最后
     
    127.0.0.1:6379> lrange city 0 1 //取第一个到第二个,包括第二个
    1) "tianjing"
    2) "shanghai"
    127.0.0.1:6379> lrange city 0 -2 //取第一个到倒数第二个
    1) "tianjing"
    2) "shanghai"
    3) "beijing"
     
    127.0.0.1:6379> lpop city //左边弹出一个数据
    "tianjing"
    127.0.0.1:6379> lrange city 0 -1
    1) "shanghai"
    2) "beijing"
    3) "suzhou"
     
    127.0.0.1:6379> rpop city //右边弹出一个数据
    "suzhou"
    127.0.0.1:6379> lrange city 0 -1 //最右边的数据没了
    1) "shanghai"
    2) "beijing"
     
    127.0.0.1:6379> del city //删除链表
    (integer) 1
    127.0.0.1:6379> lrange city 0 -1
    (empty list or set)
    
    redis中的set

    redis的set是string类型的无序集合

    底层是HashTable数据结构,Set也是存放很多字符串元素,字符串元素是无序的,而且元素的值不能重复

    127.0.0.1:6379> sadd emails tom@sohu.com jerry@qq.com //给set添加两个元素
    (integer) 2
    127.0.0.1:6379> smembers emails //取出所有值
    1) "tom@sohu.com"
    2) "jerry@qq.com"
     
    127.0.0.1:6379> sismember emails kk@163.com //判断是不是集合的成员
    (integer) 1
    127.0.0.1:6379> sismember emails ff@qq.com
    (integer) 0
     
    127.0.0.1:6379> srem emails tom@sohu.com //删除指定的值
    (integer) 1
    127.0.0.1:6379> smembers emails //可以看到tom被删除了
    1) "kk@163.com"
    2) "yy@gmail.com"
    3) "jerry@qq.com"
    
  • 相关阅读:
    线程池知识点详解
    redis实现用户登录
    php导出csv文件
    thinkphp5 内置接口开发与使用
    checkbox选择框
    简单权限管理开发设计 php
    ThinkPHP接入log4php日志监控系统
    mysql查询优化
    PHP读写文件高并发处理实例-转
    进程、线程、同步、异步
  • 原文地址:https://www.cnblogs.com/hualou/p/12070750.html
Copyright © 2020-2023  润新知