redis环境搭建(Linux)、Jredis

  • 简介

  1. NoSql是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准,ACID属性,表结构等等,这类数据库主要有一下特点:非关系型的,分布式的,开源的,水平可扩展的。

  2. NoSql的特点:
a) 处理超大量的数据。
b) 运行在便宜的pc服务器集群上
c) 击碎了性能瓶颈。

  3. NoSql适用场景
a) 对数据高并发读写。(咱们在对mysql进行上万次的写操作,那么咱们的硬盘io就可能无法承受了)
b) 对海量数据的高效率存储和访问。
c) 对数据的高可扩展和高可用性。(数据库可以增加一个服务器节点来完成数据迁移和数据库维护)

  4. Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品。它通常被称为(数据结构服务器),因为值(value)可以是 字符串(String), 哈希(Map), 链表(list), 集合(sets) 和 有序集合(sorted sets)等类型.

  5. Redis是一个key-value存储系统。它支持存储的value类型很多,包括string,list,set,zset(有序集合).这些数据类型都支持push/pop,add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的排序(因为redis中有zset数据结构,这是通过一个键来存储它的顺序)。为了保证效率,数据都是缓存在内存中,它可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。(把修改操作写入追加的记录文件这个类似于mysql中的bin-log,存储的都是更新数据,插入数据和删除数据的相关操作)

  6. Redis提供的API语言:http://www.redis.io/clients

  7. Redis适用场合
    a) 应用程序直接访问Redis数据库

    注意:这样直接访问Redis数据库可能存在某些问题,读写都是直接操作数据库,这样做比较简单,但是如果某天我的某台Redis数据库down掉了,那我的数据就会永久的丢失。

    b) 应用程序直接访问Redis,只有Redis访问失败时才访问Mysql

    分析:首先我们的应用程序直接先访问我们的Redis server,向redis里面写。此时redis会跟后面的mysql集群进行同步。当redis服务down掉以后,应用服务器会去找后面的mysql。  

    Redis更加实用的场景:
    取最新N个数据的操作
    排行榜应用,取TOP N操作
    需要精确设定过期时间的应用(可以对键设置过期时间,这个mysql就无法做到)
    计数器应用
    Uniq操作,获取某段时间所有数据排重值
    实时系统,反垃圾系统。
    Pub/Sub构建实时消息系统。(发布与订阅是redis独有的系统)
    构建队列系统。
    缓存

  8. mysql与redis、mongodb的比较


Redis


Mysql


mongodb


有库的概念


有库的概念


有库的概念


无表的概念


有表的概念


集合


无字段的概念


有字段的概念(行,列)


无字段的概念

 

  • redis安装

  1.下载地址http://www.redis.io/download

  2.可以在linux下运行如下命令进行安装

$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make

  安装完成后 /opt/redis-2.8.17/src目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli

  3.下面启动redis服务

  [[email protected] redis-2.8.17]# src/redis-server

[8491] 02 Nov 22:45:39.989 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
[8491] 02 Nov 22:45:39.991 * Increased maximum number of open files to 10032 (it was originally set to 1024).
[8491] 02 Nov 22:45:39.992 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with ‘noeviction‘ policy now.
_._
_.-``__ ‘‘-._
_.-`` `. `_. ‘‘-._ Redis 2.8.17 (00000000/0) 32 bit
.-`` .-```. ```\/ _.,_ ‘‘-._
( ‘ , .-` | `, ) Running in stand alone mode
|`-._`-...-` __...-.``-._|‘` _.-‘| Port: 6379
| `-._ `._ / _.-‘ | PID: 8491
`-._ `-._ `-./ _.-‘ _.-‘
|`-._`-._ `-.__.-‘ _.-‘_.-‘|
| `-._`-._ _.-‘_.-‘ | http://redis.io
`-._ `-._`-.__.-‘_.-‘ _.-‘
|`-._`-._ `-.__.-‘ _.-‘_.-‘|
| `-._`-._ _.-‘_.-‘ |
`-._ `-._`-.__.-‘_.-‘ _.-‘
`-._ `-.__.-‘ _.-‘
`-._ _.-‘
`-.__.-‘

[8491] 02 Nov 22:45:39.995 # Server started, Redis version 2.8.17
[8491] 02 Nov 22:45:39.997 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1‘ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1‘ for this to take effect.
[8491] 02 Nov 22:45:39.997 * The server is now ready to accept connections on port 6379

  注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动.

[[email protected] redis-2.8.17]# src/redis-server  redis.conf

  redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
  启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。

  • redis测试

  1.输入以下命令

[[email protected] redis-2.8.17]# src/redis-cli
127.0.0.1:6379> set yml bling
OK
127.0.0.1:6379> get yml
"bling"
127.0.0.1:6379> 

  这里演示了get和set命令操作简单类型value的例子。foo是key ,bar是个string类型的value
  没linux的可以通过这个在线的来练习,当然在线版的很多管理相关的命令是不支持的。
  http://try.redis-db.com/

  • java客户端使用

  1.客户端jar下载地址:http://www.java2s.com/Code/Jar/j/DownloadJRedisjar.htm

    MAVEN地址:http://mvnrepository.com/artifact/redis.clients/jedis/2.6.0

  2.在eclipse中新建一个maven项目,然后添加jredis包依赖。下面是个简单的实例

 1 package com.bling.redis;
 2
 3 import redis.clients.jedis.Jedis;
 4
 5
 6 /**
 7  * Hello world!
 8  *
 9  */
10 public class App
11 {
12     public static void main( String[] args )
13     {
14         Jedis j = new Jedis("192.168.168.128",6379);
15         String key = "yml";
16         j.set(key, "hello redis jun !");
17         String value = new String(j.get(key));
18
19         String key2 = "count";
20         j.incr(key2);
21         j.incr(key2);
22         String value2 = new String(j.get(key2));
23         System.out.println( "value = "+value );
24         System.out.println( "value2 = "+value2 );
25     }
26 }
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.bling.redis</groupId>
  <artifactId>com.bling.redis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>com.bling.redis</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- jredis(客户端工具) -->
    <dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.6.0</version>
    </dependency>
  </dependencies>
</project>

运行结果如下:

value = hello redis jun !
value2 = 2

时间: 2024-10-14 05:41:56

redis环境搭建(Linux)、Jredis的相关文章

一.redis 环境搭建

1.简介       redis是一个开源的key-value数据库.它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型.当然这些类型的元素也都是string类型.也就是说list,set这些集合类型也只能包含string 类型.你可以在这些类型上做很多原子性的操作.比如对一个字符value追加字符串(APPEND命令).加加或者减减一个数字字符串(INCR命令,当 然是按整数处理的).可以对list类

redis环境搭建笔记

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #362d2b; min-height: 16.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #362d2b } p.p4 { marg

Redis环境搭建、创建服务、搭建主从复制-Windows版本

一.搭建Redis环境 1.链接:http://pan.baidu.com/s/1boKAzzL 密码:sh2r 2.不赘述:执行redis-server.再执行redis-cli即可.redis环境就搭建完毕. 二.图形化界面 三.搭建主从复制 1.先给Master创建一个服务.解压的路径:F:\linux\redis\redis6379 cd f: cd \linux\redis\redis6379 //为master创建一个服务,每次机器启动自动启动. redis-server --ser

redis - 环境搭建(转)

一:简介(来自百科) redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写

Java部署环境搭建(Linux)

环境搭建必须jdk.tomcat.mysql(基础) 额外的软件包项目中可能用到 jdk:它包含jre和开发所需完整类库. tomcat:它是一个web容器,项目通常往webapps下扔,便于外界访问. mysql数据库: web项目数据的存取的来源. nginx:它主要用于做负载均衡和反向代理. maven:将web项目打成一个war包最大程度上节省资源空间. ftp服务器:它主要用于让大量的图片或文件等资源和web项目分离,以减轻服务器压力和最大程度提高访问效率. redis主要用于做缓存,

redis环境搭建

因为工作环境中有redis,所以对redis进行了学习,当然首先就是从搭建环境开始,下面是我对于搭建redis环境的记录. 系统是SuSE 11 sp2, 软件环境如下所示: linux-svnfile:/home/apps/redis # ls redis-3.0.0.gem     ruby-1.9.2-p290.tar.gz  zlib-1.2.7.tar.gz redis-3.0.0.tar.gz  rubygems-2.4.6.tgz redis.conf          zlib-

django+celery+redis环境搭建

初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar.gz,cd httpd-2.0.63, ./configure --prefix=/usr/local/apache --enable-mods=all --enable-cache --enable-mem-cache --enable-file-cache --enable-rewrite(这一

redis 环境搭建

windows 下搭建 redis 环境 写在前面的话: Redis 没有官方的 Windows 版本,但是微软开源技术团队(Microsoft Open Tech group)开发和维护着这个 Win64 的版本. 一.下载 Redis (下载地址:https://github.com/MicrosoftArchive/redis/releases) 二.解压安装包 解压安装包,更名为redis,放到 D:\Programe Files\redis (这个路径不是固定的,随意) 三.启动 re

Hadoop伪分布环境搭建——Linux环境配置

hadoop最近可以说是相当火,也勾起了我的兴趣,所以打算学习一下.想要学习hadoop肯定要先学会在自己的电脑上搭建一个hadoop伪分布环境.伪分布模式安装步骤的第一步就是要配置Linux环境.我自己的Linux是Ubuntu系统,不过只要是Linux系统,都大同小异,配置步骤基本没啥区别. 首先,需要进行本地网络配置.我们需要在linux系统下新增一个网络连接,自己设定好ip(ipv4)地址,子网掩码和网官.下图是我的设置: 接下来,还需要在window本地连接上也设置windows下的i