1. 什么是Redis
Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),
该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。
通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等 等,分类的标准也不以,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。
从而使它的位置处于关系数据库和键值数 据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,
除此以外,还支持主从复制等功能。
2. Redis应用场景,它能做什么
众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。
3.redis命令参考
http://redisdoc.com/
http://www.runoob.com/redis/redis-intro.html
https://www.cnblogs.com/edisonfeng/p/3571870.html
4 Redis的缺点
是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
5.java里redis相关用法
//连接本地的 Redis 服务 Jedis jedis = new Jedis("10.0.34.52",6379); jedis.auth("hNyuGsstvdgA"); System.out.println("Connection to server sucessfully"); //查看服务是否运行 System.out.println("Server is running: " + jedis.ping()); System.out.println("增加key01:值value:你好redis"+jedis.set("01", "你好redis")); System.out.println("增加key01:值value:你好redis"+jedis.set("quchangyu","你好redis")); System.out.println("你在吗:"+jedis.exists("01")); Set<String> keys = jedis.keys("*"); Iterator<String> iterator = keys.iterator(); while(iterator.hasNext()){ String next = iterator.next();// System.out.println(jedis.get(next)); } System.out.println(jedis.get("01")); jedis.set("01","修改后你好redis"); System.out.println(jedis.get("01")); jedis.sadd("aaa","value+aaa1"); jedis.sadd("aaa","value+aaa2"); jedis.sadd("aaa","value+aaa3"); jedis.sadd("aaa","value+aaa4"); jedis.sadd("aaa","value+aaa5"); jedis.sadd("aaa","value+aaa6"); jedis.sadd("aaa", "value+aaa7"); System.out.println(jedis.smembers("aaa")); jedis.srem("aaa","value+aaa5"); System.out.println("删除后"+jedis.smembers("aaa")); Set<String> aaa = jedis.smembers("aaa"); Iterator<String> it1 = aaa.iterator(); while(it1.hasNext()){ String next = it1.next(); System.out.println(next); } System.out.println("listlistlistlistlistlistlistlistlistlistlistlistlistlistlistlist"); jedis.lpush("list","list1"); jedis.lpush("list","list2"); jedis.lpush("list","list3"); jedis.lpush("list","list4"); jedis.lpush("list","list5"); jedis.lpush("list","list6"); jedis.lpush("list","list7"); jedis.lpush("list","list8"); System.out.println(jedis.lrange("list",0,-1)); System.out.println("---------------------------"); //从队列左部添加元素 jedis.lpush("list","list9"); System.out.println(jedis.lrange("list",0,-1)); System.out.println("---------------------------"); //从队列右部添加 jedis.rpush("list", "lift0"); System.out.println(jedis.lrange("list",0,-1)); System.out.println("---------------------------"); //从左出队 jedis.lpop("list"); System.out.println(jedis.lrange("list",0,-1)); System.out.println("---------------------------"); //从右出队 jedis.rpop("list"); System.out.println(jedis.lrange("list",0,-1)); System.out.println("---------------------------插入"); jedis.linsert("list", BinaryClient.LIST_POSITION.BEFORE,"list4","nihao"); System.out.println(jedis.lrange("list",0,-1)); }6.
Redis队列功能介绍
List
常用命令:
Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用
Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用
Brpoplpush
Lindex获取一个元素,通过其索引列表
Linsert在列表中的另一个元素之前或之后插入一个元素
Llen获得队列(List)的长度
Lpop从队列的左边出队一个元素
Lpush从队列的左边入队一个或多个元素
Lpushx当队列存在时,从队到左边入队一个元素
Lrange从列表中获取指定返回的元素
Lrem从列表中删除元素
Lset设置队列里面一个元素的值
Ltrim修剪到指定范围内的清单
Rpop从队列的右边出队一个元素
Rpoplpush删除列表中的最后一个元素,将其追加到另一个列表
Rpush从队列的右边入队一个元素
Rpushx从队列的右边入队一个元素,仅队列存在时有效
原文地址:https://www.cnblogs.com/potentPrince/p/8664970.html