浅析Redis五种数据类型及简单使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tclzsn7456/article/details/80134891
php-高级编程QQ群:490910618
一.Redis是什么

        Redis是高性能Key-Value数据库,属于非关系型数据库的一种。

二.Redis支持的数据类型

        共支持5种数据类型:string,list,hash,set,zset

        1.string (字符串类型)

                string可以是字符串,数字。实际存储在redis中的类型为string,遇到数值计算时,才会转换成int类型去做运算。

                最常用:

                    SET 设置键存储的值  如 SET name zhangshengnan/ SET age 24

                    GET 获取键存储的值  如  GET name / GET age

                    DEL 删除键值对  如  DEL name / DEL age

                下面这些是对键存储的值的一些操作:

                    APPEND 追加数据到键存储的值后面 如 APPEND age 9(age原本为24,执行本条后变为249

                    INCR 将键存储的值+1 如 INCR age  (age原本为24,执行本条后变为25)

                    DECR 将键存储的值-1 如 DECR age  (age原本为24,执行本条后变为23)

                    INCRBY 将键存储的值+number 如 INCRBY age 10(age原本为24,执行本条后变为34)

                    DECRBY 将键存储的值-number 如 DECRBY age 10 (age原本为24,执行本条后变为14)

                下面这些事对键的一些操作:

                    EXISTS 检查键是否存在 如 EXISTS name

                    EXPIRE 设置某键的过期时间 如 EXPIRE name 3600 (单位秒)

                    PEXPIRE 设置某键的过期时间 如 PEXPIRE name 36000000(单位毫秒)

                    PERSIST 删除过期键 如 PERSIST name   

                    TTL 获取剩余到期时间 如 TTL name(单位秒)

                    PTTL 获取剩余到期时间 如PTTL name(单位毫秒)

                    RANDOMKEY 从redis返回随机键 如 RANDOMKEY

                    RENAME 更改键名 如 RENAME name familyname

                    TYPE 返回键存储的值的数据类型 如 TYPE age

        2. list (列表)

                列表可以理解成把单个string类型练成链表,redis的list支持正反向查找(即双向链表),list可做队列,也可做栈使用,主要的用法就是push和pop。

                最常用:

                    RPUSH 将值推到列表右端 如 RPUSH student zhangshengnan

                    LPUSH 将值推到列表左端 如 LPUSH student zhangshengnan

                    RPOP 将列表最右端的值弹出并返回 如 RPOP student

                    LPOP 将列表最左端的值弹出并返回 如 LPOP student

                较常用:

                    LLEN 获取列表长度 如 LLEN student

                    LRANGE 获取列表上指定范围的所有值 如 LRANGE student 0 -1 (这里0 到-1中的-1指最后一个元素)

                    LINDEX 获取列表上指定位置的值 如 LINDEX student 0(这里返回student中的第一个值即:zhangshengnan)

        3.hash (哈希散列)

                 这个非常容易理解,hash的key对应的是一个map,map里面的结构是field,value对,数字字符串都可以。

                 最常用:

                    HKEYS 获取hash中所有的key 如 HKEYS student

                    HEXISTS 判断key对应field是否存在 如 HEXISTS student name

                    HSETNX 判断key对应field不存在时赋值value 如 HSETNX student name zhangshengnan

                    HSET 设置hash中key对应field的值 如 HSET student name zhangshengnan

                    HGET 获取hash中key对应field的值 如 HGET student name

                    HGETALL 获取hash中key对应的多有field,value对 如 HGETALL student

                    HDEL 删除hash中key对应field及值 如 HDEL student name

        4.set (集合)

                顾名思义,就是一些不重复的值,放在一起的合集。

                最常用:

                    SADD 添加某元素到集合中 如 SADD student zhangshengnan

                    SREM 删除集合中指定的值 如 SREM student zhangshengnan

                    SMEMBERS 获取key对应的所有值 如 SMEMBERS student

                    SISMEMBER 判断某值是否存在于集合中 如 SISMEMBER student zhangsan

                    SPOP 随机弹出一个集合中的值 如 SPOP student

        5.zset (有序集合)

                类似与集合,不同之处为键被称为member,多一个score用来排序。

                最常用:

                    ZADD 将一个有score的元素添加到集合 如 ZADD student 100 zhangshengnan

                    ZSCORE 获取某元素分数 如 ZSCORE student zhangshengnan

                    ZRANGE 获指范围内元素按score从小到大排序 如 ZRANGE student 0 -1 withscores

                    ZREVRANGE 获取范围内元素按socre从大到小排序 如 ZREVRANGE student 0 -1 withscores

                    ZRANGEBYSCORE 获取指定范围socre的元素 如 ZRANGEBYSCORE student 0 200 withscores

                    ZREM 删除有序集合中指定的元素 如 ZREM student zhangshengnan

猜你喜欢

转载自blog.csdn.net/tclzsn7456/article/details/80134891