Redis的认识及其基本使用
Posted guangbin0125
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis的认识及其基本使用相关的知识,希望对你有一定的参考价值。
一、认识
首先对数据库一个认识,数据库(Database)是按照数据结构来组织、 存储和管理数据的仓库。
可以分为关系型数据库:一行和列组成二维表来建模的数据库。
非关系型数据库:nosql(not only sql)不仅仅是sql,多用于超大规模和高并发的数据库。
redis是高性能的、开源的、c语言写的nosql中的一种,是一个key-vlue类型Nosql!数据保存在内存中,主要用途用来做缓存!
它支持的数据结构有数组,list,set,map,tree等等
使用场景:中央缓存、计数器、攻防系统、排行榜、自动去重、消息订阅、队列
二、作用
数据存储:存放到内存中,并且还能不定期持久化到硬盘.
Value类型:相较于memcached支持Value更多
客户端支持:支持多种客户端-跨语言
超大并发支持:支持集群
三、 mysql、Memcached和Redis的比较
四、安装
下载地址 http://redis.io/download
带配置文件启动:
五、使用
1.对value进行操作
set key value//将字符串值value关联到key
get key //返回key关联的字符串值
mset //同时设置一个或多个 key-value 对
mget //返回所有(一个或多个)给定 key 的值
incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
incrBy key num//自增多少
decrBy key num//自减多少
2.对key进行操作
keys * //获取所有key列表
del key //删除key
expire key xx //设置key的过期时间(xx秒后过期)
ttl key //查看key的过期时间
select 0-15 选择库 默认16个数据库
flushall //清空整个redis服务器数据,所有的数据库全部清空
flushdb //清除当前库,redis中默认有16个数据库,名称分别为0,1,2.。。15
3.创建Jedis 工具类
1 public enum RedisUtil { 2 3 INSTANCE; 4 5 private static JedisPool jedisPool; 6 7 static{ 8 JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); 9 //最大连接数 10 jedisPoolConfig.setMaxTotal(10); 11 //空闲时最大连接数 12 jedisPoolConfig.setMaxIdle(5); 13 14 jedisPool = new JedisPool(jedisPoolConfig,"127.0.0.1"); 15 16 } 17 18 public static Jedis getJedis(){ 19 return jedisPool.getResource(); 20 } 21 22 }
4.list
1 Jedis jedis = new Jedis("127.0.0.1"); 2 jedis.flushAll();//清空所有数据 3 //list 4 // lpush 在最左边添加 [ss, sus] 5 jedis.lpush("i", "sus","ss"); 6 System.out.println(jedis.lrange("i", 0, -1)); 7 //lpop 删除左边第一个 并返回 ss 8 System.out.println(jedis.lpop("i")); 9 //lrange 遍历 -1 表示结束 [sus] 10 System.out.println(jedis.lrange("i", 0, -1)); 11 jedis.close();
5.map
1 Jedis jedis = RedisUtil.getJedis(); 2 //map {name=su, age=18} 3 jedis.hset("student", "name","su"); 4 jedis.hset("student", "age", "18"); 5 System.out.println(jedis.hgetAll("student")); 6 jedis.close();
6.set
1 Jedis jedis = RedisUtil.getJedis(); 2 //set 不能重复[s, u] 3 jedis.sadd("user", "s","s","u"); 4 System.out.println(jedis.smembers("user")); 5 jedis.close();
以上是关于Redis的认识及其基本使用的主要内容,如果未能解决你的问题,请参考以下文章