关于redis的一些简单理解和应用

  

     一.什么是redis

      Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,
                       并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。是一个非关系型数据库。   
                

优点1、海量数据的增删改查,非常轻松应对

  2、海量数据的维护非常轻松

缺点1、数据和数据之间没有关系,所以不能一目了然

  2、非关系型数据库没有关系没有强大的事务保证数据的 完整和安全

二.redis的使用环境

1、关系型数据库的缓存存在

2、可以做任务队列

3、大量数据运算

4、排行榜

Redis非常擅长做大量数据的排行榜

三.redis安装(基于linux)

redisC语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc:(环境已经导入完成)

yum install gcc-c++

如果提示是否下载,输入y

 

如果提示是否安装,输入y

步骤1:将Windows下下载的压缩文件上传到Linux下。通过secureCRT进行上传,步骤如下:

lalt + p

put F:/redis-3.0.0.tar.gz

步骤2解压文件

tar –zxvf redis-3.0.0.tar.gz

  步骤3编译redis (编译,将.c文件编译为.o文件)

进入解压文件夹,cd redis-3.0.0

执行make

1)如果没有安装gcc,编译将出现错误提示。(如果安装失败,必须删除文件夹,重写解压)

2)安装成功

步骤4 安装

make PREFIX=/usr/local/redis install

步骤5 copy文件

redis启动需要一个配置文件,可以修改端口号等信息。

cp redis.conf /usr/local/redis

 

四.redis数据类型

redis  使用的是键值对(key-value) 保存数据。( map)

key全部都是字符串

value:有五种数据类型

1.String

2.list

3.hash

4.set

5.有序的set集合

.redis基本命令
1.String

赋值

set key value:设定key持有指定的字符value,如果该key存在进行覆盖操作。总是返回”OK”

  如果赋予相同的key,新的value会覆盖老的value

 

取值

get key获取key的value。如果与该key关联value不是String类型,redis将返回错误信息,因为get命令只能用于获取String value如果该key不存在,返回(nil)

 

删除

del key :删除指定key

返回值是数字类型表示删了几条数据

2.hash

赋值

hset key field value:为指定的key设定field/value值对)

hmset key field value [field2 value2 …]:设置key中的多个filed/value

 

取值

hmget key filed1 filed2 ….:获取key中的多个filed的值

hgetall key:获取key的所有filed-vaule

 

删除

del key :删除整个hash

.java操作redis(Jedis)。

Redis有什么命令,Jedis就有什么方法。

防火墙设置:

开放6379端口

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

保存配置

/etc/rc.d/init.d/iptables save

import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Text { /* * 单实例连接redis */ @Test public void test1(){ Jedis j = new Jedis("192.168.174.128",6379); j.set("name", "砸咂"); System.out.println(j.get("name1")); System.out.println(j.get("sss")); } /* * 连接池 */ @Test public void test(){ //1.设置连接池的配置对象 JedisPoolConfig jpc = new JedisPoolConfig(); //设置池中最大连接数 jpc.setMaxTotal(50); //设置空闲时池中最大连接数 jpc.setMaxIdle(10); //2.设置连接池对象 JedisPool jp = new JedisPool(jpc,"192.168.174.128",6379); //3.从池中获取连接对象 Jedis j = jp.getResource(); System.out.println(j.get("name")); //4.连接归还池中 j.close(); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值