Redis(一)命令

1.概述

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings)散列(hashes)列表(lists)集合(sets)有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

1.1 String类型

set 添加key-value
get 根据key获取数据
strlen 根据key获取值的长度
del 删除redis中的key
keys 用于查询符合条件的key
mset 获取多个key-value
mget 获取多个key的值
append 对某个key的值进行追加
type 检查某个key的类型
select 切换rdis数据库
flushdb 清空单个数据库
flushall 清空全部数据库
incr 自动加一
decr 自动减一
incrby 指定数值加一
decrby 指定数值减一
expire 指定key的生效时间 单位/秒
pexpire 指定key的失效时间 单位/毫秒
ttl 检查key的剩余存活时间

1.1.2 Hash类型

说明:可以用散列类型保存对象和属性值

hset 为对象添加数据
hget 获取对象的属性值
hexists 判断对象的属性是否存在
hdel 删除hash中的属性
hgetall 获取hash全部元素和值
hkeys 获取hash中的所有字段
hlen 获取hash中所有属性的数量
hmget 获取hash里面指定字段的值
hmset 为hash的多个字段设定值
hsetnx 设置hash的一个字段,只有当这个字段不存在时有效
hstrlen 获取hash中指定key的长度
hvals 获取hash的所有值

1.1.3 List类型

说明:Redis中的List集合是双端循环列表,分别可以从左右两个方向插入数据.
List集合可以当做队列使用,也可以当做栈使用
队列:存入数据的方向和获取数据的方向相反
栈:存入数据的方向和获取数据的方向相同

lpush 从队列的左边入队一个或多个元素
rpush 从队列的右边入队一个或多个元素
lpop 从队列的左端出对的一个元素
rpop 从队列的右端出队的一个元素
lpushx 当队列存在时从队列的左侧入队一个元素
rpushx 当队列存在时队列的右侧入队的一个元素
lrange 从列表中获取指定返回的元素
lrem 从存于 key 的列表里移除前 count 次出现的值为 value 的元素。 这个 count 参数通过下面几种方式影响这个操作:
count > 0: 从头往尾移除值为 value 的元素。
count < 0: 从尾往头移除值为 value 的元素。
count = 0: 移除所有值为 value 的元素。
Lset 设置 index 位置的list元素的值为 value

1.1.4 Redis事务命令

说明:redis中操作可以添加事务的支持.一项任务可以由多个redis命令完成,如果有一个命令失败导致入库失败时.需要实现事务回滚.

multi 标记一个事务开始
exec 执行所有multi之后发的命令
discard  丢弃所有multi之后发的命令

2.Redis高级应用

2.1.1 添加jar包文件

说明:在JT-PARENT项目中添加jar包文件

<!-- jedis -->
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>${jedis.version}</version>
		</dependency>

		<!--添加spring-datajar包  -->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>1.4.1.RELEASE</version>
		</dependency>

2.1.2 入门案例-String

/**
	 * 连接单台redis  
	 * 参数介绍:
	 * 	redisIP地址.
	 *  redis:6379
	 */
	@Test
	public void test01(){
		Jedis jedis = new Jedis("192.168.126.166",6379);
		jedis.set("redis", "redis入门案例");
		System.out.println
		("获取redis中的数据:"+jedis.get("redis"));
		//为数据设定超时时间  单位秒
		jedis.setex("1804", 100, "1804班");
	}

2.1.3 入门案例hash

@Test
	public void test01(){
		Jedis jedis = new Jedis("192.168.126.148", 6379);
		jedis.hset("user", "id", "1");
		jedis.hset("user", "name", "tomcat");
		jedis.hset("user", "age", "18");
		System.out.println("操作完成!!!"+jedis.hget("user", "id"));
		Map<String,String> map = jedis.hgetAll("user");
		System.out.println(map);
	}

结果展现:

操作完成!!!1
{name=tomcat, age=18, id=1}

2.1.4 入门案例-List

@Test
	public void test02(){
		Jedis jedis = new Jedis("192.168.126.148", 6379);
		Long number = jedis.lpush("list", "a","b","c","d","e");
		System.out.println("获取数据"+number);
		List<String> list= jedis.lrange("list", 0, -1);
		System.out.println("获取参数:"+list);
	}

结果展现

获取数据5
获取参数:[e, d, c, b, a]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值