python redis教程,Redis教程

  python redis教程,Redis教程

  Redis简介教程一、Redis简介1.1 Redis的特点1.2 Redis的优点1.3 Redis与其他键值存储有什么区别?1.4 redis数据类型1.4.1 String(字符串类型)1.4.2 Hash (hash,类似于Java中的map)1 . 4 . 3 list 1 . 4 . 4 Set 1.4 . 5 zset 1.5、Redis的启动和运行2、Redis数据类型2.1 Redis key)2.2 String String 2.3 list 2.4 Hash Hash 2.5 Set 2.6有序集()

  一. Redis简介

  远程字典服务器(Redis)是由Salvatore Sanfilippo编写的键值存储系统。

  Redis是用ANSIC语言编写的开源键值数据库,符合BSD协议,支持网络、基于内存和持久化,提供多种语言的API。它通常被称为数据结构服务器,因为值可以是字符串、散列、列表、集合和有序集。

  Redis是最好的学习网站,直接链接Redis中文网。

  1.1 Redis的特点Redis是完全开源的,符合BSD协议,是一个高性能的键值数据库。

  Redis和其他键值缓存产品有以下三个特征:

  Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用。Redis不仅支持简单的键值数据,还提供了list、set、zset、hash等数据结构的存储。Redis支持数据备份,即主从模式的数据备份。1.2 Redis优势性能极高——Redis可读取110000次/秒,写入81000次/秒,数据类型丰富——Redis支持二进制cases的字符串、列表、哈希、集合和有序集数据类型。原子性Redis的所有操作都是原子性的,也就是说,如果操作失败,要么成功执行,要么根本不执行。单个操作是原子性的。多操作也支持事务,即原子性,由MULTI和EXEC指令包装。丰富的特性——Redis还支持发布/订阅、通知、密钥过期和其他特性。1.3 Redis与其他键值存储有何不同?Redis有更复杂的数据结构,并为他们提供原子性操作,这是一条不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象

  Redis运行在内存中但可以持久化到磁盘,所以在高速读写不同数据集时需要权衡内存,因为数据量不能大于硬件内存。内存数据库的另一个好处是,相比磁盘上同样复杂的数据结构,在内存中操作非常简单,让Redis可以做很多内部复杂的事情。同时,就磁盘格式而言,它们是紧凑的,并且以附加的方式产生,因为它们不需要随机存取。

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

  1.4.1字符串(string type)字符串是redis最基本的类型。你可以理解为和Memcached一样的类型,一个键对应一个值。类型String是二进制安全的,这意味着redis的字符串可以包含任何数据,比如jpg图像或序列化对象。Type是redis最基本的数据类型,一个redis中的字符串值最多可以是512M 1.4.2 Hash (hash,类似于Java中的map)。Redis hash是一组键值对。Redis hash是字符串类型的字段和值的映射表,hash特别适合存储对象。类似于Java中的MapString,Object 1.4.3 List Redis list是一个简单的字符串列表。您可以按照插入顺序将元素添加到列表的开头(左)或结尾(右)。它的底层其实是一个链表!

  1 . 4 . 4 Set(Set)Redis的集合是String类型的无序集合,通过HashTable实现!

  1.4.5 Zset(有序集:有序集)Redis zset和set一样,是String类型元素的集合,不允许有重复成员。不同的是,每个元素都与一个双倍分数相关联。Redis根据分数从小到大对集合中的成员进行排序。zset的成员是唯一的,但是分数可以重复。1.5、启动和运行redis。这里不介绍Redis的安装教程。如有必要,您可以访问windows版本和Linux版本。

  因为我用的是Win版本,所以这里只介绍Windows系统的启动方式。

  Redis可以分为redis-server服务和redis-cli客户端。在运行客户端之前,您需要启动服务。

  redis-服务器服务启动模式方式一:

  双击redis-server启动,然后双击redis-cli启动并运行redis。

  (左边启动redis服务,右边客户端进入redis-cli连接,进入ping。如果哭豆芽被退回,redis连接成功。)

  第一种方式可以启动服务,但是窗口关闭后redis服务也会关闭,或者我们可以一直打开服务。第二种方法,redis,作为windows服务的启动方式。

  启动服务:redis-server-service-start stop服务:redis-server-service-stop输入命令后,我们可以在任务管理器中看到redis的进程,然后在dos窗口中输入redis-cli连接成功。(如果需要在任何目录下启动服务,可以自己配置redis的环境变量)

  二。redis数据类型2.1 redis key (key) redis key命令用于管理Redis的密钥。

  命令DEL key delete keykeys *如果该项存在。检查所有密钥选择db,选择转换数据库flushdb,删除当前数据库中的文件flushall,删除所有数据库文件existkey,判断某个密钥是否存在,移动密钥db,从库中删除该密钥,使密钥秒过期,为当前密钥设置生存期ttl密钥,检查当前密钥将在多少秒后过期。TYPE key返回由key rename key newkey存储的值的类型修改key的名称。

  如果需要了解更多命令,请参考:Redis教程

  2.2字符串字符串

  27.0.0.1: 6379 [1]设置名称张山#设置k-vOK127.0.0.1:6379[1]获取名称#根据key 127.0.0.1: 6379 [1] keys * #获取值张山。name 127 . 0 . 0 . 1:6379[1]exist name #检查是否存在当前键(整数)1127 . 0 . 0 . 1:6379[1]append name love _ Lisi #如果键已经存在并且是字符串,APPEND命令将指定值追加到键(整数)原始值的末尾17127.0.0.1:6379[1] strlen name #返回长度(整数)17127.0.0Get 张桑love _ Lisi 127 . 0 . 0 . 1:6379[1]Get range name 0 5 # Get partial string zhangs 127 . 0 . 0 . 1:6379[1]Get range name 0-1 # Get all string 张桑love _ Lisi 127 . 0 . 0 . 1:6379[1]127 . 0 . 0 . 1:6379[1]setage 20ok 127 . 0 . 0 . 1:637920127 . 0 . 0 . 1:6379[1]GET AGE 20 127 . 0 . 0 . 1:6379[1]INCR BY AGE 5 #指定键对应的V的值(整数)25127 . 0 . 0 . 1:6379[1]GET Decby AGE 10 #键对应的V指定值(整数)是15127 . 0 . 0 . 1:6379[1]GET AGE 15 127.2.3 List List Redis List是一个简单的字符串列表,按照插入顺序排序。您可以将元素添加到列表的头部(左侧)或尾部(右侧)。

  一个列表最多可以包含232-1个元素(4294967295,每个列表超过40亿个元素)。

  27.0.0.1: 6379 [1] L推送列表1 #在列表头(左)插入一个值。(整数)1127.0.0.1: 6379 [1] l推送列表2(整数)2127.0.0.1: 6379 [1] l推送列表3(整数)3127.0.0.1: 6379 [1] l范围列表0 #其中0表示列表的第一个元素,1表示列表的第二个元素。#也可以使用负下标,其中-1表示列表的最后一个元素,-2表示列表的倒数第二个元素1) 3 2) 2 3) 1 127 . 0 . 0 . 1:6379[1]r推列表A #在列表的末尾(右侧)插入一个=值。(整数)4127.0.0.1: 6379 [1] R推列表B(整数)5127.0.0.1: 6379 [1] R推列表C(整数)6127.0.0.1: 6379 [1] L范围列表0 1 4) a 5) B 6) C 127 . 0 . 0 . 1:6379[1]127 . 0 . 0 . 1:6379[1]lpoplist当列表键不存在时,返回NIL 3 127 . 0 . 0 . 1:6379[1]rpoplist #移除列表的最后一个元素,返回值为移除的元素。C 127.0.0.1: 6379 [1] L范围列表0-1 #如果查看列表中的所有元素,会发现第一个元素3和最后一个元素C都被删除了1) 2 2) 1 3) A 4) B 127.0.0.1:根据索引下标得到元素(-1为最后一个,0为第一个) 2 127 . 0 . 0 . 1:6379[1]LindexList 1 1 127 . 0 . 0 . 1:6379[1]LindexList 5(nil)#如果没有这个元素,则返回null 127.0.0.1: 6379。Lrange list 0 -1#查看列表的所有元素1) 2 2) 1 3) a 4) b 127 . 0 . 1:6379[1]llenlist #返回列表的长度(整数)4127.0.0.1: 6379。移除列表中等于参数值的元素(整数)1127 . 0 . 0 . 1:6379[1]l range list 0-1 #查看列表中的所有元素,可以看到元素a已被移出1) 2 2) 1 3) b # lsetkeyindexvalue将列表键为index的元素的值设置为value 127 . 0 . 0 . 1:6379[1]lsetlist 0 22 #将第一个元素值2更改为22k 127。l范围列表0-1 1) 22 2) 1 3) b 127 . 0 . 0 . 1:6379[1].2.4 hash Redis hash是string类型的field(字段)和value(值)的映射表,hash特别适合存储对象。

  Redis中的每个hash可以存储232-1个键值对(超过40亿)。

  2.5集合Redis的集合是一个字符串类型的无序集合。成员是唯一的,这意味着集合中不能有重复的数据。

  在Redis中,集合是通过哈希表实现的,所以添加、删除和搜索的复杂度为O(1)。

  集合中的最大成员数为232-1 (4294967295,每个集合可以存储超过40亿个成员)。

  2.6有序集(ordered set) redis有序集是像集合一样的字符串类型元素的集合,不允许有重复成员。

  不同的是,每个元素都与一个双倍分数相关联。Redis根据分数从小到大对集合中的成员进行排序。

  有序集的成员是唯一的,但是分数可以重复。

  集合是用哈希表实现的,所以添加、删除和搜索的复杂度为O(1)。集合中的最大成员数为232-1 (4294967295,每个集合可以存储超过40亿个成员)。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: