Python数据库2.Redis数据库

时间:2021-12-04 04:43:41

2.1 NoSQL简介

NoSQL(Not Only SQL):

No管L指的是非关系型数据库,是对不同于传统的关系型数据库的数据库理系统的统称,NOSQL是web2.0时代海里数据催生的产物。

特点:

  • 1.不支持SQL语法:

    NoSQL的世界中没有一种通用的语言,每种nosq l数据库都有 自己的语法,以及擅长的业务场景

  • 2.读写性能高:

    NoSQL数据军都具有非常高的读写性能,尤其在海里数据下, 它的表现非常优秀

  • 3.灵活的数据模型:

    NOSQL的存储方式十分灵活,存储方式可以是JSON文档、 键值对(Key Value )或者其他方式。

 

2.2Redis简介 (内存条中)

  • 1.Redis:

    Redis是由意大利人开发的一款内存高速缓存数据库, 是一个高性能的键值对(key-value)存储数据库。Redis全称为: Remote Dictionary Server(远程数据服务),使用C语言编写并 以内存作为数据存储介质,所以读写数据的效率极高

  • 2.Redis特性:

    ?Redis支持数据的持久化,可以将内存中的数据保存在磁盘中, 重启的时候可以再次加载进行使用。

    ?Redis不仅仅 支持简单的key-value类型的数据,同时还把value 分为list, set, zset, hash等 数据结构存储。

    ?因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。 不能存储一些重要数据 持久化也是有时间间隔的

2.3 Redis数据模型

redis:

?redis是key-value的数据结构, 每条数据都是一个键值对
?键的类型是字符串
?注意:键不能重复
?值的类型分为五种
  • ?值的类型分为五种:

    String ------> 字符串 Hash ------> 哈希 List ------> 列表 set ------> 集合 Zset ------> 有序集合

 

  • 1.连接redis:

    redis-cli

  • 2.退出:

    exit

  • 3.操作服务端:(自动)

    service redis start/stop/restart

  • 4.切换数据库:

    select n

 

2.4.Redis五大数据类型 (加引号为一个值)

String类型

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

  • 1.设置数据:

    set key value

  • 2.查看数据:

    get key

  • 3.追加数据:

    append key value

  • 4.删除数据:

    del key;

 

全局key操作

对redis的五个数据类型都适用的命令

  • 1.查看所有的key:

    keys *

  • 2.删除键值对:

    del key exists key 查看key是否存在

  • 3.改名:

    rename key new_key

  • 4.设置过期时间:

    expire key seconds ttl key 查看时间 persist key 删除过期时间

 

List类型

List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据在插入数据时,如果该键并不存在,Redis将为该键创建一个。

  • 1.添加数据:

    rpush key value [value…] lpush key value [value…] ----? 头部添加数据

  • 2.查看数据:

    lrange key start stop lindex key index ----? 查看某个数据

  • 3.修改数据:

    lset key index value

  • 4.删除数据:

    rpop key lpop key ----? 头部删除数据 lrem key index value ----? 指定删除(中间)

 

Hash类型(无序)

是一个键值(key= >value)対集合。是string类型的field和value的映射表:

user           { name:juhao,           age:18 }
?
user→key(健)   name,age→field(域)   juhao,18 →value(値)

 

  • 1.添加数据:(存在则修改)

    hset key field value hmset key field value field value(多条)

  • 2.查看域值:

    hget key field hgetall key ----? 查看所有的field和value

  • 3.查看所有的value:

    hvals key

  • 4.查看所有的field:

    hkeys key

     

Set类型(无序)

Set类型为无序的字符集合。元素具有唯一性,不重复

  • 1.添加数据:

    sadd key member [member …]

  • 2.查看数据:

    smembers key

  • 3.随机删除:

    spop key

  • 4.指定删除:

    srem key member [member …]

 

Sorted Set类型(有序的)

每一个成员都会有一个分数(score)与之关联。 成员是唯一的,但是分数(score)却是可以重复的。

  • 1.添加数据:

    zadd key score member [score2 member2 …]

  • 2.查看数据:

    zrange key start stop zrangebyscore key min max --? 通过scores值查看

  • 3.删除数据:

    zrem key member [member …]

  • 4.通过索引删除多个数据:

    zremrangebyrank key min max zremrangebyscore key min max --? 通过scores值删除

  • 5.查看分数:

    zscore key member

  •