术之多

  • 首页
  • Python
  • Java
  • IOS
  • Andorid
  • NodeJS
  • JavaScript
  • HTML5

Redis简介 Linux安装Redis Redis使用

唛哩唛哩轰 2024-10-12 10:01:43 原文

其他一些操作(包括 APPEND、GETRANGE、MSET 和 STRLENGTH 也可用于字符串。请参见http://doc.redisfans.com/string/index.html )

使用 LRANGE 命令查看列表中顶部的三个单词:
redis> LRANGE words ) ) ) 

删除:

#删除所有 socialism
redis> LREM words

删除列表:

redis > DEL words
(integer)
) ) ) ) ) > ZCARD wordswithlength
(integer)

) ) ) ) "gulati"

Redis IDE 工具使用(RedisDesktopManager)

1. 下载  

链接:http://pan.baidu.com/s/1bnwg0OZ 密码:ekwu

使用java客户端 jedis操作redis

pom

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.1.0</version>

</dependency>

测试代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import redis.clients.jedis.Jedis;
 
public class TestRedis {
    private Jedis jedis;
 
    public TestRedis() {
        jedis = new Jedis("123.59.42.xx", 6379);
        // 权限认证
        // jedis.auth("admin");
    }
 
    /**
     * redis存储字符串
     */
    public void testString() {
        jedis.set("name", "Jerome苏");
        jedis.expire("name", 60); // 设置存活时间
        // jedis.del("name"); //删除某个键
 
        System.out.println("name----->>>" + jedis.get("name"));
    }
 
    /**
     * redis操作Map
     */
    public void testMap() {
 
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "jerome");
        map.put("age", "24");
        map.put("email", "jerome_s@qq.com");
        jedis.hmset("user", map); // 存入redis
 
        // 取出
        List<String> rsmap = jedis.hmget("user", "name", "age");
        System.out.println(rsmap);
 
        // 删除map中的某个键值
        // jedis.hdel("user", "age");
 
        // System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数2
        // System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true
        // System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key
        // System.out.println(jedis.hvals("user"));// 返回map对象中的所有value
 
    }
 
    /**
     * jedis操作List
     */
    public void testList() {
        // 开始前,先移除所有的内容
        jedis.del("animals");
        // -1表示取得所有
        System.out.println(jedis.lrange("animals", 0, -1));
 
        // 存入List
        jedis.lpush("animals", "cat");
        jedis.lpush("animals", "dog");
        jedis.lpush("animals", "tiger");
        System.out.println(jedis.lrange("animals", 0, -1));
 
        // 删除单个
        jedis.rpush("animals", "cat");
        System.out.println(jedis.lrange("animals", 0, -1));
    }
 
    /**
     * jedis操作Set
     */
    public void testSet() {
        // 添加
        jedis.sadd("user", "jerome");
        jedis.sadd("user", "jelly");
        jedis.sadd("user", "jack");
        jedis.sadd("user", "nemo");
        jedis.sadd("user", "who");
 
        // 移除noname
        jedis.srem("user", "who");
 
        System.out.println(jedis.smembers("user"));// 获取所有加入的value
        System.out.println(jedis.sismember("user", "who"));// 判断 who是否是user集合的元素
        System.out.println(jedis.srandmember("user"));
        System.out.println(jedis.scard("user"));// 返回集合的元素个数
    }
 
    /**
     * redis排序
     * 
     * @throws InterruptedException
     */
    public void testSort() throws InterruptedException {
        // 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
        jedis.del("a");// 先清除数据,再加入数据进行测试
        jedis.rpush("a", "1");
        jedis.lpush("a", "6");
        jedis.lpush("a", "3");
        jedis.lpush("a", "9");
        System.out.println(jedis.lrange("a", 0, -1));// [9, 3, 6, 1]
        System.out.println(jedis.sort("a")); // [1, 3, 6, 9] //输入排序后结果
        System.out.println(jedis.lrange("a", 0, -1));
    }
 
    public static void main(String[] args) {
        TestRedis redis = new TestRedis();
        redis.testMap();
        // RedisUtil.getJedis().set("newname", "中文测试");
        // System.out.println(RedisUtil.getJedis().get("newname"));
    }
}

使用连接池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
 
public final class RedisUtil {
 
    // Redis服务器IP
    private static String ADDR = "192.168.0.100";
 
    // Redis的端口号
    private static int PORT = 6379;
 
    // 访问密码
    // private static String AUTH = "admin";
 
    // 可用连接实例的最大数目,默认值为8;
    // 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
    private static int MAX_ACTIVE = 1024;
 
    // 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
    private static int MAX_IDLE = 200;
 
    // 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
    private static int MAX_WAIT = 10000;
 
    private static int TIMEOUT = 10000;
 
    // 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
    private static boolean TEST_ON_BORROW = true;
 
    private static JedisPool jedisPool = null;
 
    /**
     * 初始化Redis连接池
     */
    static {
        try {
            JedisPoolConfig config = new JedisPoolConfig();
            config.setMaxActive(MAX_ACTIVE);
            config.setMaxIdle(MAX_IDLE);
            config.setMaxWait(MAX_WAIT);
            config.setTestOnBorrow(TEST_ON_BORROW);
            // jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
            jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * 获取Jedis实例
     * 
     * @return
     */
    public synchronized static Jedis getJedis() {
        try {
            if (jedisPool != null) {
                Jedis resource = jedisPool.getResource();
                return resource;
            } else {
                return null;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
 
    /**
     * 释放jedis资源
     * 
     * @param jedis
     */
    public static void returnResource(final Jedis jedis) {
        if (jedis != null) {
            jedisPool.returnResource(jedis);
        }
    }
}

code: 链接:http://pan.baidu.com/s/1qW5PJic 密码:pyha


参考
        http://www.ibm.com/developerworks/cn/java/os-springredis/index.html
        Redis 命令参考
        Java中使用Jedis操作Redis

代码

https://github.com/JeromeSuz/demo_code_repo/tree/master/src/main/java/redis

Redis简介 Linux安装Redis Redis使用的更多相关文章

  1. Redis简介与安装

    目录 Redis概述与安装使用 Redis概述与安装使用 Author:SimpleWu GitHub-redis Redis简介 Redis英语全称:( REmote DIctionary Serv ...

  2. redis简介及安装

    1 redis简介及安装 1.1 Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. 首 ...

  3. redis简介、安装、配置和数据类型

    redis简介.安装.配置和数据类型 redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 它支持字符串.哈希表.列表.集合.有序集合, ...

  4. 001.Redis简介及安装

    一 Redis简介 1.1 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key-value 缓存产品有以下三个特点: ...

  5. redis简介及安装配置

    简介 redis是一个开源的高性能键值对数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存.队列系统等不同角色. 特性 存储结构:redis是远程字 ...

  6. 峰Redis学习(1)Redis简介和安装

    是从博客:http://blog.java1234.com/blog/articles/310.html参考过来的: 第一节:Redis 简介 为什么需要NoSQL,主要应对以下问题,传统关系型数据库 ...

  7. redis 简介,安装与部署

    NOSQL简介 NoSQL,泛指非关系型的数据库,NoSQL数据库的四大分类: 键值(Key-Value)存储数据库:这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据 ...

  8. Redis 基础:Redis 简介及安装

    Remote Dictionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵守BSD ...

  9. Redis简介及其安装

    1.Redis NoSQL (Not noly SQL)不仅仅是SQL 属于非关系型数据库:Redis就属于非关系型数据库 传统的Mysql ,oracle ,sql server 等 都是关系型数据 ...

随机推荐

  1. 原生JS实现圆周运动

    <body> <div id="ball" style="width:20px; height:20px; background:red; border ...

  2. 06 Nexus仓储/基础设施 - DevOps之路

    06 Nexus仓储/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi Nexus仓储官网简介: Th ...

  3. SAS中常见的数组函数

    SAS中常见的数组函数有: dim dimk hbound hboundk lbound lboundk 数组函数计萁数组的维数.上下界,有利于写出可移植的程序,数组函数包括:dim(x) 求数组x第 ...

  4. 解读Batch Normalization

    原文转自:http://blog.csdn.net/shuzfan/article/details/50723877 本次所讲的内容为Batch Normalization,简称BN,来源于<B ...

  5. R语言:安装及使用

    http://blog.csdn.net/pipisorry/article/details/53640638 ubuntu下安装 sudo apt-get install -y r-base源码安装 ...

  6. WebView 的使用案例

    package com.example.day20_webview; import android.os.Bundle; import android.annotation.SuppressLint; ...

  7. Spring之MVC模块

    Spring MVC的Controller用于处理用户的请求.Controller相当于Struts 1里的Action,他们的实现机制.运行原理都类似 Controller是个接口,一般直接继承Ab ...

  8. Android Studio下导出jar包和aar包

    Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个 ...

  9. 使用QGIS将文本坐标转换为矢量文件

    本文主要是说明如果使用QGIS将文本格式的点坐标转换为矢量文件(如shapefile格式). 所需工具:QGIS 所需数据:文本格式的点文件 所需要处理的点坐标文件如下所示, 114.2 22.15 ...

  10. not in 前面/后面存在null值时的处理

    表声明 order_header表中有ship_method列: ship_method_map表中ship_method为主键列. 需求 找出order_header表中所有ship_method不 ...

热门专题

matplotlib 两张图在一起打印
selenium 翻页 瀑布流
code上创建一个简单的动态库
beego 检查参数是否存在
layui 在中打开
打开网页不支持此接口 win 7
strcpy在vs中用不了
springboot 实现session会话共享问题
vs2010主题颜色设置
SSRS 两个tablelix
代码加上activiti后接口都请求不到了
oracle varchar最大长度
jQuery和PHP前后端交互制作小项目
querydsl拼接
注册表 MaxRequestBytes
vsftp 用户管理
activemq设置用户密码
小程序 数字格式不一样
支持向量机的参数c和g的取值范围
hive如何将string转换成struct类型
Home

Powered By WordPress