Python数据库2.Redis数据库

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

原文地址:https://www.cnblogs.com/dyf25288-/p/11701585.html

时间: 2024-11-09 02:55:48

Python数据库2.Redis数据库的相关文章

python爬取大众点评并写入mongodb数据库和redis数据库

抓取大众点评首页左侧信息,如图: 我们要实现把中文名字都存到mongodb,而每个链接存入redis数据库. 因为将数据存到mongodb时每一个信息都会有一个对应的id,那样就方便我们存入redis可以不出错. # -*- coding: utf-8 -*- import re from urllib.request import urlopen from urllib.request import Request from bs4 import BeautifulSoup from lxml

python面试题:redis数据库

来源链接: https://www.cnblogs.com/jasontec/p/9699242.html https://www.cnblogs.com/Java3y/p/10266306.html 介绍:Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API的非关系型数据库. 传统数据库遵循 ACID 规则.而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数

NoSQL数据库之Redis数据库:Redis的介绍与安装部署

 NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显的力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展. NoSQL的特点: 特点一: 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准.ACID属性.表结构等等,这

05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

 Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表示取出所有的key 127.0.0.1:6379> keys * 1) "age" 2) "name" 3) "age2" 127.0.0.1:6379> keys a* 1) "age" 2) "age2&

python 之操作redis数据库(非关系型数据库,k-v)

数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁盘上 Redis里的数据类型有String 和hash类型,下面主要是对Redis 的一些操作. 一.String类型 r = redis.Redis(host='localhost',port=6379,db=3) r.set('nancy2','201801211505') #set数据 pri

07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

 事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令. 127.0.0.1:6379> get age (nil) 127.0.0.1:6379> multi OK                

06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制

 Redis高级实用特征 安全性(登录授权和登录后使用auth授权) 设置客户端连接后进行任何其他指定前需要使用的密码. 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒中进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解. 修改密码只需要在我们的配置文件中修改下面参数: #requirepass foobared Requirepass beijing     (红色的就是指定的要配置的密码) 上面的一句表示的是设置连接的口令是

03_NoSQL数据库之Redis数据库:list类型

 lists类型及操作 List是一个链表结构,主要功能室push,pop.获取一个范围的所有值等等,操作中key理解为链表的名字.Redis的list类型其实就是一个每个元素都是string类型的双向链表.我们可以通过push.pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列. lpush:在key对应list的头部添加字符串元素. rpush:在key对应的list的尾部添加字符串元素. linsert:在key对应list的特定位置前或后添加字符串.

02_NoSQL数据库之Redis数据库:string类型和hash类型

 Strings类型及操作 String是最简单的类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或者序列化的对象. Set 设置Key对应的值为string类型的value. 例如:我们添加一个name=lijie的键值对: 127.0.0.1:6379> set name toto OK //获取name的值: 127.0.0.1:6379> get name "toto" //再次重新设置