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. JSP和servlet有什么区别?

    JSP和servlet有什么区别? JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达. JSP编译后是"类servlet". Servlet ...

  2. linux env

    .Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.1 永久的:需要修改配置文件,变量永久生效. 1.2 临时的:使用export命令声明即可,变量在关闭shell时失效. ...

  3. Python 入門語法和類型(转载学习)

    http://www.cnblogs.com/mcdou/archive/2011/08/02/2125016.html Python的设计目标之一是让源代码具备高度的可读性.它设计时尽量使用其它语言 ...

  4. [记录]使用openGL显示点云的一个程序

    #include <GL/glut.h> #include <stdio.h> #include <iostream> using namespace std; v ...

  5. z/os上的tar和gzip

    在*nix平台上玩过的人都知道,tar和gzip基本上是每天都要使用的,而且非常之好用.而Mainframer则比较痛苦,没有这么好用的东西,尤其是当需要通过网络传大批量的文件的时候很不方便. 不过总 ...

  6. 设置Sql Agent运行Job时的执行账户

    相信使用过Sql Server的人都应该知道,使用Sql Agent可以建立一些自动化Job来帮我们周期性地执行一些任务,其中执行SSIS包就是其中一个任务.而在SSIS包中有时候会去做读取文件等一些 ...

  7. 【海岛帝国系列赛】No.7 海岛帝国:神圣之日

    50237242海岛帝国:神圣之日 [试题描述] 战争持续九个月了.“购物券”WHT的军队还在跟恐怖分子僵持着.WHT和LJX已经向“公务员”告急,情况不宜乐观.YSF为守护帝国决定打开“够累 的”星 ...

  8. string与char之间的互相转换

    string对象是一种很强大的存在哈~~ 1. string转const char* string s = "abc"; const char* c_s = s.c_str(); ...

  9. OpenStack 新加计算节点后修改

    Contents [hide] 1 前提 2 iptables禁止snat= 3 vlan支持 4 Quota支持 5 修改物理资源设置. 6 添加collectd 7 重启服务 前提 我们使用fue ...

  10. 常用Git命令

    Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一般来说,日常使用只要 ...