redis操作

    决定从今天开始写技术blog,不过并没有好好准备,只得从自己笔记中抽出来了。

1.查询key

a. 所有key: keys *;

b. 包含特定内容的key: test:-:test;

2. 删除key

a. del key

b. 用命令redis-cli -p 6381 keys te*:t | xargs redis-cli -p 6381 del,或者 cat test.txt | xargs redis-cli -p 6381 del,其中test.txt中每行为一个key

3. 批量导入

a. 命令cat test.txt | redis-cli -p 6381 --pipe

b. 其中,test.txt中每条数据的格式为:

*3         // 表示参数个数为3
$5         // 表示第一个参数长度为5个字节
lpush      // 第一个参数(redis 命令)
$7         // 第二个参数长度
wdmyong    // 一般为key
$9         // 第三个参数长度
123456789  // 最后一个参数一般为值

c. 说明:hashdao的操作时有四个参数,具体与上类比即可

4. 从操作

a. 作主从连接,redis-cli -p 6381 slaveof 192.168.110.108 6381,表示本机作为192.168.110.108的从

b. 取消主从关系,redis-cli -p 6381 slaveof no one

5. 代码

@Override
    public boolean sismember(byte[] key, byte[] member) {
        Jedis readJedis = null;
        Boolean result = false;
        JedisPool readPool = null;

        try {
            readPool = getRandomReadPool();
            readJedis = getReadJedis(readPool);
            if (readJedis == null) {
                LOGGER.warn("获取缓存异常");
                return false;
            }
            result = readJedis.sismember(key, member);
        } catch (Exception e) {
            LOGGER.error(null, e);
            if (readPool != null) {
                readPool.returnBrokenResource(readJedis);
            }
        } finally {
            if (readPool != null) {
                readPool.returnResource(readJedis);
            }
        }
        return result;
    }

    public boolean sismember(String key, String member) {
        return sismember(SafeEncoder.encode(key), SafeEncoder.encode(member));
    }
posted @ 2017-04-12 00:52  鹰搏长空08  阅读(239)  评论(0编辑  收藏  举报