redis学习笔记,随便记记

原创 2016年08月29日 14:31:34
安装:yum install redis
启动服务:redis-server

连接:redis-cli

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

常用key value命令
一:字符串
set key value
重复set一个key会替换原本旧的
二:哈希 
HMSET user:1 (key value值对,以空格分开)
二:列表 
可以添加重复
添加 lpush key value
查看 lrange key 0 10
三:集合
不可以添加重复
添加 sadd key value
查看 smembers key
四:集合排序
添加 zadd key 排序值 value
不查看排序值 ZRANGEBYSCORE key 0 1000

查看排序值 ZRANGE key 0 1000 WITHSCORES

五:Redis HyperLogLog

用于统计数据数量count用

添加 pfadd key value

查看数量 pfcount key

六:redis发布订阅

实现监听:subscribe 通道名

发送数据给其他监听客户端 publish 通道名 字符串数据

七:redis事务

开始事务 multi

结束事务 exec 所有中间执行结果在结束事务后打印出来

八:redis脚本

EVAL script numkeys key [key ...] arg [arg ...]
下面的例子说明了 Redis 脚本是如何工作的:
redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

1) "key1"
2) "key2"
3) "first"
4) "second"
其他与java连接操作

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;

public class test {

	public static void main(String[] args) throws Exception {
		// Connecting to Redis server on localhost
		Jedis jedis = new Jedis("localhost");
		System.out.println("Connection to server sucessfully");
		// check whether server is running or not
		System.out.println("Server is running: " + jedis.ping());
		Map<String, String> map = new HashMap<String, String>();
		map.put("key1", "123");
		map.put("key2", "456");
		map.put("key3", "789");
		ByteArrayOutputStream bo = new ByteArrayOutputStream();
		ObjectOutputStream oo = new ObjectOutputStream(bo);
		oo.writeObject(map);
		byte[] bytes = bo.toByteArray();
		bo.close();
		oo.close();
		jedis.set("测试set".getBytes(), bytes);
		byte[] bs = jedis.get("测试set".getBytes());
		ByteArrayInputStream read = new ByteArrayInputStream(bs);
		ObjectInputStream in = new ObjectInputStream(read);
		Object readObject = in.readObject();
		System.out.println("测试set添加byte:"+readObject); //key-value一对一
		jedis.lpush("tutorial-list", "Redis");
	      jedis.lpush("tutorial-list", "Mongodb");
	      jedis.lpush("tutorial-list", "Mongodb");
	      jedis.lpush("tutorial-list", "Mysql");
	     List<String> list = jedis.lrange("tutorial-list", 0 ,5);
	     System.out.println("测试lpush添加:"+list); //value值可以重复
	     jedis.sadd("测试sadd", "123");
	     jedis.sadd("测试sadd", "456");
	     jedis.sadd("测试sadd", "123");
	     jedis.sadd("测试sadd", "789");
	     Set<String> smembers = jedis.smembers("测试sadd");
	     System.out.println("测试sadd添加:"+smembers); //value值不可以重复
	     jedis.zadd("测试zadd", 3, "123");
	     jedis.zadd("测试zadd", 1, "123");
	     jedis.zadd("测试zadd", 2, "456");
	     jedis.zadd("测试zadd", 4, "789");
	     Set<String> zrange = jedis.zrange("测试zadd", 0, 10);
	     System.out.println("测试zadd添加zrange输出:"+zrange); //value值不可以重复
	     Set<String> zrangeByScore = jedis.zrangeByScore("测试zadd", 0, 10);
	     System.out.println("测试zadd添加zrangeByScore输出:"+zrangeByScore);
	     Set<Tuple> zrangeWithScores = jedis.zrangeWithScores("测试zadd", 0, 10);
	    System.out.println("测试zadd添加zrangeWithScores输出:"+zrangeWithScores);
	     jedis.pfadd("测试pfadd", "123");
	    jedis.pfadd("测试pfadd", "456");
	    jedis.pfadd("测试pfadd", "789");
	    jedis.pfadd("测试pfadd", "123");
	    long pfcount = jedis.pfcount("测试pfadd");
	    System.out.println("测试pfadd返回value数量:"+pfcount); //value值不可以重复
	     Set<String> keys = jedis.keys("*");
		System.out.println("所有的key:"+keys);
		Long del = jedis.del("测试set");
		System.out.println("删除key返回数量:"+del);
		Object eval = jedis.eval("return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}", 2, "key1","key2","value1","value2");
		System.out.println("测试eval:"+eval);
		jedis.close();
	}
}
输出结果:

Connection to server sucessfully
Server is running: PONG
测试set添加byte:{key3=789, key2=456, key1=123}
测试lpush添加:[Mysql, Mongodb, Mongodb, Redis]
测试sadd添加:[123, 456, 789]
测试zadd添加zrange输出:[123, 456, 789]
测试zadd添加zrangeByScore输出:[123, 456, 789]
测试zadd添加zrangeWithScores输出:[[[49, 50, 51],1.0], [[52, 53, 54],2.0], [[55, 56, 57],4.0]]
测试pfadd返回value数量:3
所有的key:[测试sadd, tutorial-list, 测试zadd, 测试set, 测试pfadd]
删除key返回数量:1
测试eval:[key1, key2, value1, value2]

重启redis,保存在内存中的所有数据消失

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

redis实现附近的人,但jedis中没有相关api,那么直接使用lua脚本执行。

redis实现附近的人,但jedis中没有相关api,那么直接使用lua脚本执行。 相关方法如下:package com.way;import java.util.List;import redis...

redis之 zadd、zremrangebyscore、zremrangebyrank、zscore、zcard、zcount、zrangebyscore、zinczrevrankzrevrange

1.zadd 向名称为 key 的 zset 中添加元素 member, score 用于排序。如果该元素已经存在,则根据 score 更新该元素的顺序 redis 12...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Redis入门 -学习笔记(1)

Redis入门 -学习笔记(1)官网地址中文文档地址centos7 Redis安装教程 (我用的腾讯云学生机参考的这个)简介 开源,高性能,键值对(key-value)存储的缓存系统 存储在内存中,所...

Redis学习笔记1--入门篇

一、Redis简介: Redis(http://redis.io)是一款开源的、高性能的键-值存储(key-value store),它是用ANSI C来编写。Redis的项目名是Remote Di...

Redis学习笔记4--Redis数据存储优化机制

1.zipmap优化hash: 前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap来存储的。这个zipma...

Redis学习笔记3--Redis键值设计

tag在互联网应用里尤其多见,首先看下面的关系型数据表: Book表:  id name author 1 The Ruby ...

Redis学习笔记2--Redis数据类型及相关命令

Redis支持的种数据类型包括string、list 、set 、sorted set 和hash。 Redis相关的命令可以查看:http://redis.io/commands 这是官方的命令使...

深入浅出Redis笔记

深入浅出Redis 1.Redis的发展史 Redis[Remote Directory Server]:远程服务器字典2.下载安装Redis1》Linux下安装Reids http://...
  • bwlab
  • bwlab
  • 2016-09-19 10:58
  • 8038
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)