Redis学习笔记
来源:互联网 发布:rar解压软件下载官方 编辑:程序博客网 时间:2024/04/30 05:33
redis学习笔记(1)
最近由于项目的实际需要,对当前比较流行的两款“缓存数据库”进行了学习,主要了解了redis数据库。
- redis和mc的对比
- redis的安装
- redis的基础命令使用
- java-redis
redis和mc的对比
1、redis可以用于数据的长期存储(这点是基于它的“持久化”技术),同时也可以用来做数据缓存;但是mc(memcached)只能用于数据缓存;
2、redis能够存储种类繁多的数据类型,比如: strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries。而mc只能存储strings, objects;
3、两者都可以用于集群环境,存储数据都采用key-value策略,都是Nosql数据库典型代表。
redis的安装
redis的基础命令使用
目前主要学习了redis的string操作、list链表操作
String
List
java-redis
在实际运用中,不仅仅需要学会在终端通过敲入命令的方式学习redis,还需要知道redis的API,用于编程,下面是我写的一个初级demo,主要测试上述两种数据结构:
package cn.com.redis;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;public class RedisJava { public static void main(String[] args) { // 连接redis服务 Jedis jedis = new Jedis("192.168.239.128", 6379); // 查看服务是否运行 System.out.println("Server is running: " + jedis.ping()); redisStringAndLsit(jedis); selectDB(jedis); flushRedis(jedis); } private static void flushRedis(Jedis jedis) { System.out.println("清库前,redis数据库的所有key:"); Set<String> allKeys = jedis.keys("*"); for(String temp : allKeys){ System.out.println(temp); } System.out.println(jedis.flushDB()); System.out.println("清库后,redis数据库的所有key的长度为:"); Set<String> allKeysEnd = jedis.keys("*"); System.out.println(allKeysEnd); System.out.println(allKeysEnd.size()); } private static void selectDB(Jedis jedis) { String selector = jedis.select(1); if(selector.equals("OK")){ System.out.println("选库成功!"); } Set<String> keys = jedis.keys("*"); System.out.println(keys.size()); //跳转的数据库没有key则跳到默认数据库,并移动一个key if(keys.size()==0){ if(jedis.select(0).equals("OK")){ jedis.move(jedis.keys("*").iterator().next(), 1); } } jedis.select(1); Set<String> keysEnd = jedis.keys("*"); System.out.println("数据库1中key的数量最后是:"+keysEnd.size()); System.out.println("被转移过来的key分别是: "); for(String temp : keysEnd){ System.out.println(temp); } } private static void redisStringAndLsit(Jedis jedis) { jedis.set("name", "wuran"); // linklist jedis.rpush("character", "a"); jedis.rpush("character", "b"); jedis.rpush("character", "c"); jedis.rpush("character", "d"); List<String> values=jedis.lrange("character", 0, -1); for(String temp : values){ System.out.println(temp); } System.out.println("*********keys * **********"); Set<String> keySets = jedis.keys("*"); for(String key : keySets){ System.out.println(key); } System.out.println(jedis.get("name")); //体现缓存数据库 System.out.println("before expire: "+jedis.ttl("name")); jedis.expire("name", 30); for(int i=0;i<30;i++){ System.out.println(jedis.ttl("name")); if(i==10){ jedis.persist("name"); System.out.println("when i is 10: "+jedis.ttl("name")); break; } } System.out.println(jedis.get("name")); }}
0 0
- Redis学习笔记-Redis安装
- 【Redis学习笔记】Redis初识
- 【Redis学习笔记】Redis特性
- [Redis学习笔记]-Redis配置
- [Redis学习笔记]-Redis数据类型
- [Redis学习笔记]-Redis命令
- [Redis学习笔记]-Redis 事务
- redis学习笔记
- Redis学习笔记一
- Redis基础学习笔记
- redis学习笔记
- Redis学习笔记
- Redis数据库学习笔记
- redis 学习笔记
- redis学习笔记
- redis 学习笔记
- redis学习笔记
- redis学习笔记(一)
- php生成zip压缩文件的方法详解
- iOS 实现拖动一个view
- 提取微信小视频方法
- 数据设计+实践+SQL优化
- 欢迎使用CSDN-markdown编辑器
- Redis学习笔记
- jsp-------plastic
- kindeditor上传文件在SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题 .
- 【C语言提高37】结构体元素做函数参数与结构指针做函数参数
- 全志A33下面,讲解配置LVDS时序,支持12.1寸屏
- git merge 时可能会遇到的问题
- 拉格朗日对偶(Lagrange duality)
- Ubuntu15.10 安装JDK (jdk1.8.0_65)
- visual studio 调试时提示 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。