术之多

  • 首页
  • 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. ubuntu 命令行下格式化U盘,磁盘分区

    命令行格式化磁盘一般是:先卸载,后格式化. 先说格式化U盘的方法,格式化磁盘某个分区是同样的道理. 一般情况下U盘会挂载在/meida/<username>/<disk>目录下 ...

  2. centos 6安装 H3C iNode 上网客户端

    我的安装目录是/usr/iNode 直接把客户端安装包拷到这个文件夹下然后解压: #rar x iNode2.-R0162.rar 然后进入文件夹,里边有一个install.sh文件,这是一个安装文件 ...

  3. Node.js 工具模块

    在 Node.js 模块库中有很多好用的模块.接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数. 2 Path 模块提供了处理和转换文件 ...

  4. MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串, ...

  5. Oracle导出表

    方法一:利用PL/SQL Developer工具导出: 菜单栏-->Tools-->Export Tables,如下图,设置相关参数即可: 方法二:可以用cmd的操作命令导出,详情请去百度 ...

  6. Android 多窗口

    随着手机屏幕越来越大,单手操作手机越来越难,所以一些大厂早就开始研究多窗口,如iphone.samsung的单手模式,作为一个发展趋势google肯定也不会不考虑用户的体验,所以在android N中 ...

  7. ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年01月01日更新

    ROS机器人程序设计(原书第2版)补充资料 (零) 源代码等 ROS官网 版)部分内容修订 页:第1行,删去$ 页:第6行,float64 y 前面加一个空格 页:中间创建主题:下面程序不用换行,(& ...

  8. BeanUtils制作自定义的转换器

    一般来说,BeanUtils自带的Converter基本上可以满足我们在开发过程中的使用了,然而很多时候我们还是需要自定义一些转换器. MyBean.java package beanutils; i ...

  9. Storm 0.9安装指南

    Storm 0.9.2安装指南 0 Storm0.9的亮点 引用网上的描述: "Storm 0.9.0.1版本的第一亮点是引入了netty transport.Storm网络传输机制实现可插 ...

  10. 开源项目——小Q聊天机器人V1.1

    小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...

热门专题

requests.post 结果json text
sensitive框架依赖
sql把浮点型变成字符串 不变成科学计数法
archlinux安装aria2c
10000个随机数,获取大于一半数量的某个数
Unity Shader入门精要 冯乐乐
gitbash 设置默认路径
Centos 僵毁 服务器
EF 联表,如何定义实体
mysql添加自增字段sql语句
rtl8118 黑群晖引导
wcf客户端指定网卡
mybatis 代码执行sql复制表语句
datatables.js 在tr追加checkbox
MYSQL 8.0 1206报错
windows使用zint生成二维码
css实现炫酷几何背景
sql server catch打印错误信息
bootstrap v5 在线定制
latex常用中文字体
Home

Powered By WordPress