术之多

  • 首页
  • 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. Go 语言范围(Range)

    Go 语言中 range 关键字用于for循环中迭代数组(array).切片(slice).链表(channel)或集合(map)的元素.在数组和切片中它返回元素的索引值,在集合中返回 key-val ...

  2. CentOS7: How to resolve curl#56 - "Recv failure: Connection reset by peer"

    Issue: When you execute Yum installation or update, you may encounter following error: Loaded plugin ...

  3. 更快实现Android多级树形选择列表

    快速实现Android多级树形列表,这个库是在鸿洋多级树形列表demo中修改而来. 解决的问题: 1. 支持ID为int类型和String类型. 2. 支持多级复选框选中,使用只需一行代码. 3. 支 ...

  4. 20160208.CCPP体系详解(0018天)

    程序片段(01):main.c 内容概要:PointWithOutInit #include <stdio.h> #include <stdlib.h> //01.野指针详解: ...

  5. Dynamics CRM2016 Web Api之时间字段值的处理

    本篇又是一次来谈到CRM中时间字段的问题,那这次要谈的是在引用web api过程中写代码上的注意事项,常用的代码场景即JS和c#. 先来看下js,从下图中可以看到,我直接将new Date()赋值给时 ...

  6. 传Lua对象到Cpp

    传Lua对象到Cpp (金庆的专栏) 摘自:http://raycast.net/lua-intf 以下代码演示了Lua函数和表传入Cpp进行处理: std::string acceptStuff(L ...

  7. 从源码安装git

    蛋疼的阿里云,git版本居然才1.9.只能手动安装了. 预装 apt-get update apt-get --yes install libcurl4-gnutls-dev libexpat1-de ...

  8. Java编程思想阅读收获

    15年8月份买了一本Java编程思想第四版中文版.之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hol ...

  9. Oracle EBS各个模块日志收集的方法

    MSCA(Mobile Supply Chain Application)日志的收集 Reference Note:338291.1 - Howto Enable WMS / MSCA Logging ...

  10. 基于BaseAdapter的Listview小Demo

    ListView是android开发中比较常用的控件, 其中适配器模式可以选择: ArrayAdapter:简单易用,通常用于将数组或者List集合的读个包值封装成多个列表项 SimpleAdapte ...

热门专题

pl/sql导入dmp文件
spark中cache和persist的区别
QDataStream 全局变量
spark shuffle 机制
BT656 BT601接口
mysql,oracle和sqlserver的语法区别
go 遍历并删除数组
windowsfcrackzip下载
C# 将string转成类
calendar得到当前的月份
options函数是什么
private_token怎么获取
C#通过AJAX批量上传图片完整例子
python如何获取dbf文件的内容
dubbo高级特性序列化
python数据库数据比对
集合a和b中输出集合a不包含B的部分
winform 按键添加图标
IBM的超级账本项目
Tess4j 实现牛逼的 OCR 识别工具
Home

Powered By WordPress