Redis

一、redis是什么?

是一个key-value数据库,用来存储数据

二、如何使用redis?

本地启动
redis安装并配置环境变量后执行:redis-cli
远程调用
redis-cli -h host -p port -a password
实例:redis-cli -h 127.0.0.1 -p 6379

三、redis有哪些数据类型?

字符串String

    redis最基本的数据类型,一个键最多能存储512MB
    redis 127.0.0.1:6379> SET name "redis.net.cn"
    OK
    redis 127.0.0.1:6379> GET name
    "redis.net.cn"

哈希Hash

    一个键值对集合,特别适合存储对象,每个hash可以存储2^32-1键值对(40多亿)
    redis 127.0.0.1:6379> HMSET w3ckey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
    OK
    redis 127.0.0.1:6379> HGETALL w3ckey
    1) "name"
    2) "redis tutorial"
    3) "description"
    4) "redis basic commands for caching"
    5) "likes"
    6) "20"
    7) "visitors"
    8) "23000"

列表List

    是简单的字符串列表,按照插入顺序排序,列表最多可存储2^32 - 1个元素 (每个列表可存储40多亿)。
    redis 127.0.0.1:6379> LPUSH w3ckey redis
    (integer) 1
    redis 127.0.0.1:6379> LPUSH w3ckey mongodb
    (integer) 2
    redis 127.0.0.1:6379> LPUSH w3ckey mysql
    (integer) 3
    redis 127.0.0.1:6379> LRANGE w3ckey 0 10
    1) "mysql"
    2) "mongodb"
    3) "redis"

集合Set

    Redis的Set是string类型的无序集合,集合是通过哈希表实现的。
    redis 127.0.0.1:6379> SADD w3ckey redis
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mongodb
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mysql
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mysql
    (integer) 0
    redis 127.0.0.1:6379> SMEMBERS w3ckey
    1) "mysql"
    2) "mongodb"
    3) "redis"

有序集合sorted set

    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    zset的成员是唯一的,但分数(score)却可以重复。
    redis 127.0.0.1:6379> ZADD w3ckey 1 redis
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 2 mongodb
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 3 mysql
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 3 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZADD w3ckey 4 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZRANGE w3ckey 0 10 WITHSCORES
    1) "redis"
    2) "1"
    3) "mongodb"
    4) "2"
    5) "mysql"
    6) "4"

HyperLogLog

    Redis 在 2.8.9 版本添加了 HyperLogLog 结构。
    HyperLogLog 是用来做基数统计,优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
    在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
    但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
    redis 127.0.0.1:6379> PFADD w3ckey "redis"
    1) (integer) 1
    redis 127.0.0.1:6379> PFADD w3ckey "mongodb"
    1) (integer) 1
    redis 127.0.0.1:6379> PFADD w3ckey "mysql"
    1) (integer) 1
    redis 127.0.0.1:6379> PFCOUNT w3ckey
    (integer) 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容