浅谈Redis
来源:互联网 发布:网络体系结构的定义 编辑:程序博客网 时间:2024/06/03 19:30
redis是什么?
1.redis是一种菲关系型的数据库,里面所有的数据存储都是以key value的形式存储的,显而易见,最直接的说法,redis就是一个数据库,可以当做一个数据库来使用
当然,在我们的实际开发过程中,很少把redis单独当做数据库来使用,因为它是直接把数据存储在电脑的内存中的,最明显的一个瓶颈就是容量问题了
2.redis还可以用来做缓存,像我们熟悉的memacache一样,为什么呢,正是因为它把所有的数据都存入内存中,所以读取的速度是相当的快的,在我们互相网时代,假如
一个系统的并发量特别高的情况下,每一次查询都去我们传统的关系型数据库中查询,想必数据库是肯定是受不了的,轻则查询速度缓慢,重则数据库瘫痪
redis做缓存适合于数据不会经常改变的情况
3.当然redis还有其他很多比较实用的功能,比如说它的发布订阅模式,这就可以用来做项目之间配置的统一。 还有她的自动排序,就可以用来做排名的功能 等等。。。
使用Jdis管理redis单机版
1.创建一个Jedis对象,需要指定连接的IP以及端口号dis对象,需要指定连接的IP以及端口号
Jedis jedis = new Jedis("192.168.31.245" 6379);
2.使用jedis对象操作数据库
使用JedisPool管理redis单机版
1.创建一个JedisPool对象,同样需要指定连接的IP以及端口号
JedisPool jedisPool = new JedisPool("192.168.31.245" 6379);
2.从JedisPool对象中获取Jedis对象
Jedis jedis = jedisPool.getResource();
3.使用jedis对象操作数据库
redis单机版和spring框架的整合使用
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="6379"/>
</bean>
使用Jedis管理redis集群版
1.使用JedisCluster对象,需要一个Set参数,作为redis集群的节点列表
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.31.245" 6379));
nodes.add(new HostAndPort("192.168.31.245" 1111));
nodes.add(new HostAndPort("192.168.31.245" 2222));
nodes.add(new HostAndPort("192.168.31.245" 3333));
JedisCluster jedisCluster = new JedisCluster(nodes);
2.直接使用jedisCluster对象操作redis集群
jedisCluster.set("slhaobing","shuai");
jedisCluster.get("shaobing");
redis集群版和spring框架的整合使用
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
<constructor-arg>
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7001"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7002"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7003"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7004"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7005"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7006"/>
</bean>
</set>
</constructor-arg>
</bean>
redis集群的搭建
1.因为redis集群的搭建需要使用ruby的运行环境,所以第一步先安装ruby
yum install ruby
yum install rubygems
2.用ruby脚本运行使用的包
gem install redis-3.0.0 gem
3.创建6个redis实例,修改每个实例的端口(redis.config里面修改),另外还需要把配置文件的cluster-enabled yes的注解打开
4.启动每一个redis实例
./redis-server redis.config
5.使用ruby脚本搭建redis集群
./redis-trib.rb create --replicas 1 192.168.31.245:7000 192.168.31.245:7001 192.168.31.245:7002 192.168.31.210:7003 192.168.31.210:7004 192.168.31.210:7005
6.目前来说,一个redis集群已经搭建好了,接下来使用redis-cli来测试
连接redis集群:redis-cli -h 192.168.31.245 -c -p 7002
set shaobing shuai
测试可有写入成功:redis-cli -h 192.168.31.245 -c -p 7005
get shaobing
redis的持久化
1.redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式
Snapshotting:定时将内存中的数据以快照的形式写入到磁盘中 dump.rdb 可以设置时间
Append-only file:每对redis进行一次操作,就把命令记录下来,下次直接跑命令就可以恢复了
1.redis是一种菲关系型的数据库,里面所有的数据存储都是以key value的形式存储的,显而易见,最直接的说法,redis就是一个数据库,可以当做一个数据库来使用
当然,在我们的实际开发过程中,很少把redis单独当做数据库来使用,因为它是直接把数据存储在电脑的内存中的,最明显的一个瓶颈就是容量问题了
2.redis还可以用来做缓存,像我们熟悉的memacache一样,为什么呢,正是因为它把所有的数据都存入内存中,所以读取的速度是相当的快的,在我们互相网时代,假如
一个系统的并发量特别高的情况下,每一次查询都去我们传统的关系型数据库中查询,想必数据库是肯定是受不了的,轻则查询速度缓慢,重则数据库瘫痪
redis做缓存适合于数据不会经常改变的情况
3.当然redis还有其他很多比较实用的功能,比如说它的发布订阅模式,这就可以用来做项目之间配置的统一。 还有她的自动排序,就可以用来做排名的功能 等等。。。
使用Jdis管理redis单机版
1.创建一个Jedis对象,需要指定连接的IP以及端口号dis对象,需要指定连接的IP以及端口号
Jedis jedis = new Jedis("192.168.31.245" 6379);
2.使用jedis对象操作数据库
使用JedisPool管理redis单机版
1.创建一个JedisPool对象,同样需要指定连接的IP以及端口号
JedisPool jedisPool = new JedisPool("192.168.31.245" 6379);
2.从JedisPool对象中获取Jedis对象
Jedis jedis = jedisPool.getResource();
3.使用jedis对象操作数据库
redis单机版和spring框架的整合使用
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="6379"/>
</bean>
使用Jedis管理redis集群版
1.使用JedisCluster对象,需要一个Set参数,作为redis集群的节点列表
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.31.245" 6379));
nodes.add(new HostAndPort("192.168.31.245" 1111));
nodes.add(new HostAndPort("192.168.31.245" 2222));
nodes.add(new HostAndPort("192.168.31.245" 3333));
JedisCluster jedisCluster = new JedisCluster(nodes);
2.直接使用jedisCluster对象操作redis集群
jedisCluster.set("slhaobing","shuai");
jedisCluster.get("shaobing");
redis集群版和spring框架的整合使用
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
<constructor-arg>
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7001"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7002"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7003"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7004"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7005"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.25.153"/>
<constructor-arg name="port" value="7006"/>
</bean>
</set>
</constructor-arg>
</bean>
redis集群的搭建
1.因为redis集群的搭建需要使用ruby的运行环境,所以第一步先安装ruby
yum install ruby
yum install rubygems
2.用ruby脚本运行使用的包
gem install redis-3.0.0 gem
3.创建6个redis实例,修改每个实例的端口(redis.config里面修改),另外还需要把配置文件的cluster-enabled yes的注解打开
4.启动每一个redis实例
./redis-server redis.config
5.使用ruby脚本搭建redis集群
./redis-trib.rb create --replicas 1 192.168.31.245:7000 192.168.31.245:7001 192.168.31.245:7002 192.168.31.210:7003 192.168.31.210:7004 192.168.31.210:7005
6.目前来说,一个redis集群已经搭建好了,接下来使用redis-cli来测试
连接redis集群:redis-cli -h 192.168.31.245 -c -p 7002
set shaobing shuai
测试可有写入成功:redis-cli -h 192.168.31.245 -c -p 7005
get shaobing
redis的持久化
1.redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式
Snapshotting:定时将内存中的数据以快照的形式写入到磁盘中 dump.rdb 可以设置时间
Append-only file:每对redis进行一次操作,就把命令记录下来,下次直接跑命令就可以恢复了
阅读全文
2 0
- 浅谈redis
- 浅谈redis
- 浅谈Redis
- redis浅谈
- 浅谈Redis
- 浅谈redis应用场景
- 浅谈redis事物
- Redis集群浅谈
- 浅谈Memcached与Redis
- 浅谈Redis事务机制
- 浅谈Redis---(1)
- 浅谈Redis---(2)
- Redis入门之浅谈redis事务
- 浅谈Redis及其安装配置
- Redis NOsql 缓存技术浅谈
- 浅谈Redis的键值设计
- ehcache和redis的浅谈
- Redis(简介)深入浅谈。
- JMS之——ActiveMQ支持两种事务
- Recyclerview的一些个人理解与使用(七)Recyclerview的嵌套与增加删除
- php实现分页显示功能
- Deep Learning深入浅出
- (二)跑马灯的两种实现方式
- 浅谈Redis
- STL学习笔记-容器
- 第4.1章 scrapy之web工程
- 0630工作tips
- 功能展示——图片选择器、图片预览、9宫格展示、图片选择器
- HDU 1074 Doing Homework(状压DP)
- codeforces 831C
- 通过HTML5 FileReader实现上传图片预览功能
- 415/43 Add Strings/Multiply Strings