Redis是开源的,支持网络、可基于内存也可持久化的key-value数据库,支持主从复制,读写分离,支持5种基本数据类型,高并发性能

安装redis数据库

下载:http://redis.io/download

tar zxvf redis-2.1.0

make (编译Redis)

make install (安装)

redis-server my.conf(启动服务)

redis-cli(打开控制台)

与Java集成,引入jar包如下:

JAVA-API示例:

public class RedisTest{

private Jedis jedis = null; 

    RedisTest() {
//连接redis服务
jedis = new Jedis("127.0.0.1", 6379);
//jedis = new Jedis("localhost"); //权限认证
//jedis.auth("admin"); //查看服务是否运行
System.out.println("Server is running: "+jedis.ping());
} public void testString() {
//添加
jedis.set("name","luangeng"); //拼接
jedis.append("name", " is good"); //删除某个键
jedis.del("name"); //设置多个键值对
jedis.mset("name","luangeng","age","123","qq","1234"); //增1
jedis.incr("age");
} public void testList() {
//Remove the specified keys. returns the number of keys removed.
jedis.del("list","key2","key3"); // 从左边加入
jedis.lpush("list", "5");
// 从右边加入
jedis.rpush("list", "0"); jedis.rpush("list", "-1"); jedis.rpush("list", "2"); long n = jedis.llen("list"); //Sort a Set or a List and Store the Result at dstkey.
jedis.sort("list","b");
System.out.println(jedis.lrange("list",0,-1));
System.out.println(jedis.lrange("b",0,-1));
} public void testSet(){
jedis.del("set");
//添加
jedis.sadd("set","123");
jedis.sadd("set","123");
jedis.sadd("set","1");
jedis.sadd("set","1");
jedis.sadd("set","2");
//移除
jedis.srem("set","2"); System.out.println(jedis.scard("set"));
System.out.println(jedis.smembers("set"));
System.out.println(jedis.sismember("set", "123"));
} public void testMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
jedis.hmset("map",map); List<String> rsmap = jedis.hmget("map", "k1", "k2", "k3");
System.out.println(rsmap); jedis.hdel("k3","v3"); Iterator<String> iter=jedis.hkeys("map").iterator();
while (iter.hasNext()){
String key = iter.next();
System.out.println(key+":"+jedis.hmget("map",key));
} jedis.hlen("map");
jedis.exists("map");
jedis.hkeys("map");
jedis.hvals("map");
} public void flushDB(){
//Delete all the keys of the currently selected DB. This command never fails.
jedis.flushDB(); //Delete all the keys of all the existing databases.This command never fails.
//jedis.flushAll();
} public static void main(String[] args) throws InterruptedException { RedisTest rtest = new RedisTest();
rtest.testString();
rtest.testList();
rtest.testSet();
rtest.testMap();
rtest.flushDB(); } }

  

Redis基础的更多相关文章

  1. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  2. [.net 面向对象程序设计深入](14)Redis——基础

    [.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  3. linux redis基础应用 主从服务器配置

    Redis基础应用 redis是一个开源的可基于内存可持久化的日志型,key-value数据库redis的存储分为内存存储,磁盘存储和log文件三部分配置文件中有三个参数对其进行配置 优势:和memc ...

  4. [.net 面向对象程序设计深入](36)Redis——基础

    [.net 面向对象程序设计深入](36)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  5. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  6. Redis基础用法、高级特性与性能调优以及缓存穿透等分析

     一.Redis介绍 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库.缓存服务或消息服务使用.Redis支持多种数据结构,包括字符串.哈希表.链表.集合.有序集合.位图.Hype ...

  7. Redis基础知识补充及持久化、备份介绍(二)--技术流ken

    Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...

  8. Spring-Boot之Redis基础

    Spring-Boot之Redis基础 准备 Redis下载地址:github.com/MSOpenTech/redis/releases Redis数据库的默认端口号是 6379 开启Redis服务 ...

  9. mongodb,Mysql,redis基础教程

    数据库基础 1:mongodb基础教程 1:pymongo基础教程  2:Mysql基础教程 3:redis基础教程

  10. Redis基础知识点面试手册

    Redis基础知识点面试手册 基础 概述 数据类型 STRING LIST SET HASH ZSET(SORTEDSET) 数据结构 字典 跳跃表 使用场景 会话缓存 缓存 计数器 查找表 消息队列 ...

随机推荐

  1. BZOJ 1010 玩具装箱toy(四边形不等式优化DP)(HNOI 2008)

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  2. 关于.Net Remoting 和 Web Servcie的比较

    参照文献 http://www.cnblogs.com/shinehouse/articles/3001955.html http://www.cnblogs.com/paper/archive/20 ...

  3. archlinux 网络配置

    https://wiki.archlinux.org/index.php/Network_configuration_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%2 ...

  4. Another app is currently holding the yum lock; waiting for it to exit...另一个应用程序在占用yum lock,等待其退出。

    这种情况下通常是由于yum的时候意外退出造成的,虽然也给出提示当前占用进行的id,但是执行kill -9 3599 强制杀死进程后,情况依然没能改变. 备注:(-9是强制杀死) 主要原因是因为,yum ...

  5. struct2 学习总结

    花了近半个月学习了struct2.现大致总结下学习点: 1. struct2 入门以及基本配置(未继承ActionSupport,配置struts.xml文件,execute方法直接返回SUCESS) ...

  6. Openstack的配额共功能的使用

    在一个云系统中,一个项目不能无限制的使用资源,必须对项目进行配额管理,在openstack中主要的命令是nova quota-update, 但是可能会提示的错误: DEBUG (shell:740) ...

  7. scala模拟一个timer

    直接上代码: package com.test.scalaw.test.demo import java.util.Date /** * 模拟一个定时timer */ object Timer { d ...

  8. JavaScript:九种弹出对话框

    [1.最基本的js弹出对话框窗口代码] 这是最基本的js弹出对话框,其实代码就几句非常简单: <script LANGUAGE="javascript"> <!- ...

  9. Git几块区域关系

  10. GCD 多线程 初探

    GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...