• redis相关-基础语法


    Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

    Redis 与其他 key - value 缓存产品有以下三个特点:

    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    Redis支持数据的备份,即master-slave模式的数据备份。

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。


    1. 字符串
    redis 127.0.0.1:6379> SET name "李三"
    OK
    redis 127.0.0.1:6379> GET name
    "李三"

    redis 127.0.0.1:6379> DEL name


    2. 字符串列表List
    redis 127.0.0.1:6379> lpush userList "张三"
    (integer) 1
    redis 127.0.0.1:6379> lpush userList "李四"
    (integer) 2
    redis 127.0.0.1:6379> lpush userList "王五"
    (integer) 3
    redis 127.0.0.1:6379> lrange userList 0 10
    1) "张三"
    2) "李四"
    3) "王五"

    3. 集合Set
    Redis 的 Set 是 string 类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

    redis 127.0.0.1:6379> sadd userList "张三"
    (integer) 1
    redis 127.0.0.1:6379> sadd userList "李四"
    (integer) 1
    redis 127.0.0.1:6379> sadd userList "王五"
    (integer) 1
    redis 127.0.0.1:6379> sadd userList "王五"
    (integer) 0
    redis 127.0.0.1:6379> smembers userList
    1) "张三"
    2) "李四"
    3) "王五"
    插入了2此,但根据集合内元素的唯一性,第二次插入的元素将被忽略。

    4. 有序集合ZSet
    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

    zset的成员是唯一的,但分数(score)却可以重复。

    redis 127.0.0.1:6379> zadd userList 0 "张三"
    (integer) 1
    redis 127.0.0.1:6379> zadd userList 0 "李四"
    (integer) 1
    redis 127.0.0.1:6379> zadd userList 0 "王五"
    (integer) 1
    redis 127.0.0.1:6379> zadd userList 0 "王五"
    (integer) 0
    redis 127.0.0.1:6379> > ZRANGEBYSCORE userList 0 1000
    1) "张三"
    2) "李四"
    3) "王五"

    5. 哈希
    Redis hash 是一个键值(key=>value)对集合。

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

    redis 127.0.0.1:6379> HMSET user_info name "张三" age 20
    "OK"
    redis 127.0.0.1:6379> HGET runoob name
    "张三"
    redis 127.0.0.1:6379> HGET runoob age
    20

  • 相关阅读:
    vc++编程之在程序中加入网址链接
    VC++编程之对话框贴图
    软考(软件设计师)注意事项(攻略)
    解决SQLite数据库中文乱码问题
    计算机专业中经典书籍(程序猿和大学生必读)
    VC++编程中为程序加入启动画面功能
    动态规划的详细解析(01背包问题)
    动态规划之深入灵魂的解读(非常好)
    UML类图详解
    团队冲刺——第四天
  • 原文地址:https://www.cnblogs.com/yuer02/p/13812404.html
Copyright © 2020-2023  润新知