三:redis的List类型相关操作

==========================三种:List类型=====================

介绍:list类型及操作

list是一个链接表结果,只要功能是push,pop、获取一个范围的所有值等等,

操作key理解为链表的名字,redis的list类型其实就是一个每个子元素都是string类型的双向链表。

我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列

1:lpush:

在key对应list的头部添加字符串元素 (先进后去,类似栈)

例:lpush list1 "hello"

lpush list1 "world"

取值:lrange list1 0 -1    -->从头取到尾,list1里面的全部去出来来

2:rpush

在key对应list的尾部添加字符串元素(先进先去,类似队列)

例:rpush list2 "le"

rpush list2 "yangjun"

取:lrange list2 0 -1    -->le yangjun值

3:linsert:

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

例:lpush list3 "one"

lpush list3 "two"

linsert list3 before one three     --->在 one和two之间压入一个three

lrange list2 0 -1

4:Lset:

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

例:lpush list5 one

lpush list5 two

lset list5 1 "four"    ---->吧下表为1的值改为 four

5:lrem:删除相同元素的值

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

例:lpush list5 one

lpush list5 one

lrem lise5 1 "one"    --->1表示删除几个,从list5中删除一个one相同的元素,就剩下一个one

lrem lise5 0 "one"    --->全删

6:ltrim:

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

例:lpush list6 one

lpush list6 two

lpush list6 three

ltrim list6 1 -1   -->保留下标为1 -1的值,其他全部删除

ltrim list6 1 2       --->保留下标为1和2的,其他删除

7:lpop:

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

例:rpush list8 one

rpush list8 two

lpop list8          -->把one弹出,也就是删除,只留下two

8:rpop:

从list的尾部删除元素,并返回删除元素

例:rpush list8 one

rpush list8 two

rpop list8        --->尾部弹出two,只剩下one

9:rpoplpush:

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

例:list9:three,hello    list10:hello,foo

rpoplpush list9 list10    --->吧hello从list9的尾部并吧hello从头部压入list10

list10=hello、hello、foo

10:lindex:

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

例:list11:three,two,one

lindex list11 0    --->找出下表为0的元素->three

11:llen:

返回key对应list的长度

例:llen list11     -->有几个元素就返回几  比如就一个there就返回1

========================================END========================================

三:redis的List类型相关操作

时间: 2024-10-26 19:57:49

三:redis的List类型相关操作的相关文章

一:redis 的string类型相关操作

*redis客户端中的使用: =============一种:string类型的方法================ 介绍:string是redis的最简单类型,一个key对应一个value,string类型是二进制安全的. redis的string可以包含任何数据,比如jpg图片或者序列化的对象 1:一个key只包含一个value值,当设置相同值时=会覆盖 设置值:set name leyangjun 获取值:get name 2:setnx:(会判断设置的值是否存在,不存在则设置) 设置ke

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建

四:redis的sets类型相关操作(有序和无序集合)

================四五种(有序和无序集合):sets类型(就是集合)============= 一介绍:  set表示集合,添加是是随意添加的----->无序集合 set是集合,它是string类型的无序集合. set是通过hash table实现的,添加,删除和查找的复杂度都是0(1). 对集合我们可以取并集.交集.差集. 通过这写操作我们可以实现sns中的好友推荐和blog的tag功能 1:sadd 向名称key的set中添加元素(唯一的) 例:sadd myset1 one 

Redis笔记-String类型及操作(二)

String类型及操作 String是简单的类型 ,一个Key对应一个Value. String类型是二进制安全的. Redis的String可以包含任何数据,比如jpg图片或者序列化的对象 Set 设置Key对应的值为String类型的value 例如:添加一个name=lijie的键值对 127.0.0.1:6379> set name lijie//获取值127.0.0.1:6379> get name//重复赋值,会被覆盖 setnx 设置key对应的值为String类型的value,

redis之hashes类型及操作

hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型.将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个hash对象时开始是用zipmap(又称为small hash)来存储的.这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身

[redis] redis 对string类型数据操作

package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.util.List; /** * Created by Administrator on

redis之sets类型及操作

sets类型及操作set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作,操作中key理解为集合的名字.set的是通过hash table实现(即set并没有顺序)的,所以添加.删除和查找的复杂度都是O(1).hash table会随着添加或者删除自动的调整大小.需要注意的是调整hash table大小时候需要同步(获取写锁)会阻塞其他读写操作,可能不久后就会改用跳表(skip list)来实现,跳表已经在sorted set中使用了.关于set集合类型

Python--Demo5--布尔类型相关操作

布尔类型: 我们已经知道布尔类型只有两个值True和False 布尔类型的操作: 比较运算.逻辑运算:操作结果都是布尔值. 比较运算符: 完成比较运算需要知道,比较运算符.(== 等于)(!= 不等于)(> 大于) (<小于)(<= 小于等于)(>= 大于等于) 示例: >>> 33.0==33 True >>> 'hehe'=='hehe' True >>> 'HeHe'=='hehe' False >>>

三、redis对字符串类型的操作

1.set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000  , 9秒有效 注: 如果ex,px同时写,以后面的有效期为准 如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒 nx: 表示key不存在时,执行操作 xx: 表示key存在时,执行操作 2.mset  multi set , 一次性设置多个键值 例: mset key1 v1 key2 v2