Redis学习(2)

redis的五大基本类型之二

  • 前言
  • 一、String
  • 二、List
  • 总结


前言

一般来说,我们在redis的学习中,如果只是需要日常开发作为java中间件使用,那么只需要学习redis的前三种基本类型就可以了,但是本着多知识,多学习的原则,我们还是五种类型全部学习一下。

一、String

String类型可能是我们在redis作为缓存的最重要的一种使用类型,所以我们需要着重的学习一下String类型。

下面就是一些redis中String类型的基本操作

append key “hello”  给string类型的key追加字符串  
					xxx是key的名字
					hello是追加的字符串
					返回值是 字符串的长度
					如果当前字符串不存在,就相当于set key

strlen key 获取字符串的长度 
set key 0 设置初始量为0
incr key 自动加一,相当于i++  自增一
decr key 自动减一,相当于i--
incrby key 10  增加10
decrby key 10  减少10

字符串范围
	getrange key start end 截取字符串 (start起始下标 ,end结束下标,闭区间)
	getrange key 0 -1 查看所有字符串,和get key一样
替换字符串
	setrange key start xxx 替换指定位置开始字符串 start起始下标 xxx替换的内容 (从起始下标开始)


setex (set with expire) 设置过期时间
	setex key seconds value 
setnx (set if not exist) 如果不存在创建,存在的话创建失败 
	setnx key value

批量创建(同时设置多个值)
	mset [key value ...]  批量创建 使用空格隔开
	mget [key1 key2 ...]  批量获取key  
	msetnx [key value...]  不存在创建,存在就创建失败 (只要有一个存在 就不成功)(原子性操作)

String使用场景:

​ 计时器、统计多单位的数量、粉丝数、对象缓存存储

二、List

在redis里,list可以完成栈、队列和阻塞队列。
并且,所有的list命令都是l开头的。

lpush list value  将一个值或多个值添加到列表的头部(左)

lrange list start stop 获取list中的值 (通过区间获取其中的值)
	lrange list 0 -1 获取所有的list的值
	
rpush list value  将一个值或多个值添加到列表的尾部(右)

lpop 移除list中最左边的元素(第一个)

rpop 移除list中最右边的元素(最后一个)

lindex list index 通过下标获取list中的某一个值
llen list 返回当前list集合的长度

lrem list acount value 移除一个或多个value (移除list集合中指定个数的value,精确匹配)

ltrim list start stop  通过下标截取指定的长度,改变了list集合

组合命令:
	rpoplpush source destination 移除列表的最后一个元素,并将它添加到新的列表里
	source 原来的列表  destination 新的列表
									
exists list 判断是否存在list
lset list index value  更新列表的值,如果列表不存在,则会报错

linsert list BEFORE|AFTER pivot(list中存在的value) value   
		往存在的value的前面或者后面插入值

ist实际上是一个链表,前后都可以插入值,
如果key不存在,创建新的链表,
如果key存在,新增内容 ,
如果移除key,所有value都会消失。
在两边插入值或者改动值,效率最高!

总结

上面的基本上就是redis中的String和List的基本用法了,因为学习数据库的操作这种常使用性的技术,都是边操作边理解的,所有奉劝大家一定要理论与实践结合。

你可能感兴趣的:(redis,redis,数据库)