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



lists类型及操作

List是一个链表结构,主要功能室push,pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

lpush:在key对应list的头部添加字符串元素。

rpush:在key对应的list的尾部添加字符串元素。

linsert:在key对应list的特定位置前或后添加字符串。

lset:设置list中指定下标的元素值。

lrem:从key对应list中删除n个和value相同的元素。(n
<0从尾删除,n=0全部删除)

上面的lrem mylist5 1 “hello”表示的是从mylist5中删除1个和hello相同的值。

上面返回的数表示的是删除的个数。

ltrim:保留指定key的值范围内的数据。

例如:ltrim list8 1 -1表示保留下标是1到最后一个元素的值,其它的元素都删除掉。

lpop:从list的头部删除元素,并返回删除元素。

rpop list10

lrange list10 0 -1

rpoplpush:从第一个list的尾部移除元素并添加到第二个list的头部。

其中:rpoplpush mylist5 mylist6表示的意思是将mylist5中的元素弹出后给了mylist6.

接着查看mylist5,发现只有一个three了,在接着查看mylist6,发现有三个元素了,分别是:hello,hello,foo

lindex:返回名称为key的list中的index位置的元素。

llen:查看链表中有多少个元素

时间: 2024-11-09 03:04:14

03_NoSQL数据库之Redis数据库:list类型的相关文章

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

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

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                

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数据库2.Redis数据库

2.1 NoSQL简介 NoSQL(Not Only SQL): No管L指的是非关系型数据库,是对不同于传统的关系型数据库的数据库理系统的统称,NOSQL是web2.0时代海里数据催生的产物. 特点: 1.不支持SQL语法: NoSQL的世界中没有一种通用的语言,每种nosq l数据库都有 自己的语法,以及擅长的业务场景 2.读写性能高: NoSQL数据军都具有非常高的读写性能,尤其在海里数据下, 它的表现非常优秀 3.灵活的数据模型: NOSQL的存储方式十分灵活,存储方式可以是JSON文档

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

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" //再次重新设置

04_NoSQL数据库之Redis数据库:set类型和zset类型

 sets类型及操作 Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加,删除和查找复杂度都是0(1).对集合我们可以取并集.交集.差集.通过这些操作我们可以实现sns中的好友推荐和blog的tag功能. sadd:向集合中添加一个元素,通名称为key的set中添加元素. [[email protected] bin]$ ./redis-cli 127.0.0.1:6379> sadd myset1 one (integer) 1 127.0.0.1:

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

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

memcache数据库和redis数据库的区别(理论)

在了解了memcache集群和redis集群后,我产生了一些问题: redis集群支持的存储类型多于memcache集群:redis集群支持数据的持久化,更能很好的保护数据完整性: 那么,为什么有的企业还是热衷于memcache集群呢?我们一起来思考下. 数据存储上的区别: 在redis集群中,并不是所有的数据都一直保存在内存当中的, 而memcache的数据则是一直保存在内存中. 资源使用上的区别: redis使用单核,而memcache可以使用多核. 性能上的区别: 每一个核上的数据小于10