redis 相关知识

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

时间: 2024-10-29 01:13:00

redis 相关知识的相关文章

Redis相关知识整理

Redis相关知识整理 1. Redis和MySQL的区别?a).mysql是关系型数据库,而redis是NOSQL,非关系型数据库.mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在缓存中,读取速度快,但是保存时间有限,最后按需要可以选择持久化到硬盘. b).mysql作为持久化数据库,每次访问都要在硬盘上进行I/O操作.频繁访问数据库会在反复连接数据库上花费大量时间.redis则会在缓存区存储大量频繁访问的数据,当浏览器访问数据的时候,先访问缓存,如果访问不到再进入数据库.

Redis相关知识

Redis 存储的五种 字符串类型:string 散列类型:  hash 列表类型: list 集合类型: set 有序集合类型: SortedSet Redis与数据库比较 mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc).首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分. redis和mc都是缓存,并且都是驻留在内存中运行的,这大大提升了高

redis常用知识(二)

Redis相关知识总结(二) Php操作redis常用的方法 1.  String类型 (1)     Get(key)  获取设置的值 (2)     Set(key,value)  设置相应的key值 (3)     getSet(key,value)        修改key值 (4)     append(key,value2)    在指定的key-value后追加新的value (5)     getRange(key, start, end) 根据指定的key,对value进行字符

redis常用知识总结(一)

Redis相关知识总结(一) 一.redis的安装 1.  在windows上安装redis服务器 1)       下载windows版的redis安装包解压到c盘根目录 2)       在解压后的redis包创建redis.conf配置文件,配置如下 pidfile /var/run/redis.pid # 端口 port 6379 # 绑ip # bind 127.0.0.1 # 数据有效期 timeout 300 # 数据库数量 databases 16 ###############

Redis这些知识你知道吗?

1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Redis的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个val

redis入门知识汇总

1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个va

python的list相关知识

关于list的相关知识 list01 = ['alex',12,65,'xiaodong',100,'chen',5] list02 = [67,7,'jinjiao_dawang','relax1949',53] #打印list01.list02 print(list01) print(list02) #列表截取.切片 print(list01[1]) print(list01[-2]) print(list01[1:3]) #列表重复 print(list01 * 3) #列表组合 prin

三层交换机相关知识

三层交换机相关知识 这次的作死之路又要开始了.这次的对象主要是交换机:还是三层的: 这是这次实验的总体用图: 现在现根据图上的标志:将所有的主机配置好:目前没有做任何vlan:所以PC1和PC3是能够互通的: 接下来:我想先去探索下三层交换机关闭portswitch会怎么样: 第一步:先关闭了再说: 因为按照图中的设计:PC1的帧如果想要到达PC2,那么就必然要经过LSW1.但是现在我关闭了g0/0/1端口的portswitch:现在pc1并不能ping通pc2: 通过百度:三层交换机的端口不仅

php学习day7--函数的相关知识

今天我们主要学了函数的相关知识,是个比较基础的知识,但也是很重要的. 一.函数 函数就类似于一个工具,我们写好函数之后可以直接进行调用,可以很大的减少代码的从用性,提高页面性能和可读性. 1.函数的定义 在php中函数的定义方式为: function  name($形参1,$形参2.....){ 要执行的代码 return  123: } 在上方的函数定义式中,name代表函数名,小括号内是形参,是用来传递参数,花括号中的就是调用时需要执行的代码. 函数的调用方式: name(实参1,实参2,.