keys

Lua 与 Redis

江枫思渺然 提交于 2020-02-12 05:38:45
Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis … 案例-实现访问频率限制: 实现访问者 $ip 在一定的时间 $time 内只能访问 $limit 次. 非脚本实现 private boolean accessLimit(String ip, int limit, int time, Jedis jedis) { boolean result = true; String key = "rate.limit:" + ip; if (jedis.exists(key)) { long afterValue = jedis.incr(key); if (afterValue > limit) { result = false; } } else { Transaction transaction = jedis.multi(); transaction.incr(key); transaction.expire(key, time); transaction.exec(); } return result; } 以上代码有两点缺陷 可能会出现竞态条件: 解决方法是用 WATCH 监控 rate.limit:$IP 的变动, 但较为麻烦; 以上代码在不使用 pipeline

redis使用redis-cli查看所有的keys及清空所有的数据

試著忘記壹切 提交于 2020-02-11 05:20:28
redis_home:redis安装路径: cd %redis_home%/src ./redis-cli -h 127.0.0.1 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> keys * 1) "652d085ae54d4a1faca9db57f5a32e57" 2) "a13991c60d13485bb23b31c7abb9712a" 3) "e1796a709c0f4e7093bb0d49a03953ee" 4) "e7d44a40cacc4bca8be7649a545f642d" 5) "bfa16cf345e447f895b91742fee63c3f" 6) "c681aaeeb56b472b99885164702208df" 7) "a47937356b1244e3adb672c210776ecb" 8) "a1b47ee28a6b442d933e7ab838c57367" 9) "8713ff5043414f7cbde68ad5a7810585" 127.0.0.1:6379> keys * 1) "652d085ae54d4a1faca9db57f5a32e57" 2) "a13991c60d13485bb23b31c7abb9712a" 3)

完全分布式安装hadoop

风格不统一 提交于 2020-02-10 03:20:01
以三个节点为例的服务器集群来安装和配置hadoop 以下是各服务器ip地址和对应所做的节点 192.168.61.128 master 192.168.61.129 slave1 192.168.61.133 slave2 首先修改每个服务器上的hosts文件 使用命令 vi /etc/hosts编辑 在最后追加 192.168.61.128 master 192.168.61.129 slave1 192.168.61.133 slave2 三行 为每个服务器创建hadoop账户 在root用户下,使用命令 useradd hadoop passwd hadoop 输入两遍新密码完成 为每个服务器安装jdk jdk文件版本为jdk-7u45-linux-i586.rpm 可以在官网上下载各个版本的linux jdk文件 使用命令 rpm -ivh jdk-7u45-linux-i586.rpm 进行安装 安装完成之后编辑profile文件配置环境变量 vi /etc/profile 在末尾追加 export JAVA_HOME=/usr/java/jdk1.7.0_45 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

学习笔记之自动化测试模型_02

醉酒当歌 提交于 2020-02-08 18:26:45
模块化实例 以126邮箱来演示代码如下: from selenium import webdriver driver = webdriver . Firefox ( ) driver . implicitly_wait ( 10 ) driver . get ( "http://www.126.com" ) #登陆 driver . find_element_by_link_text ( "密码登录" ) . click ( ) #找到用户名和密码登录所在的frame层,这里参数为空,是因为这个frame的那么为空 driver . switch_to_frame ( "" ) #清空文本框内容 driver . find_element_by_xpath ( "//*[@name='email' and @data-loginname='loginEmail']" ) . clear ( ) #输入用户名 driver . find_element_by_xpath ( "//*[@name='email' and @data-loginname='loginEmail']" ) . send_keys ( "username" ) #清空文本框内容 driver . find_element_by_name ( "password" ) . clear ( ) #输入密码

搜源搜索代码

馋奶兔 提交于 2020-02-08 05:31:16
能提交处理页面: <iframe id="opensoframe" marginwidth="0" marginheight="0" scrolling="no" framespacing="0" vspace="0" hspace="0" frameborder="0" width="670" height="40" src="http://www.openso.net/frame.html"> </iframe> 不能提交处理页面: <div style="float:right; margin-top:-20px; height:20px">  <INPUT id="keys" name="keys" maxLength="80" size="40"> <a id="aendter" href="#" target="_blank" onclick='document.getElementById("aendter").href="http://www.openso.net/search?index=1&word="+encodeURIComponent(document.getElementById("keys").value);'>搜源搜索</a> </div> 来源: https://www.cnblogs.com/openso2009/archive/2009/09

AS下NDK开发(一)

邮差的信 提交于 2020-02-08 05:23:08
捣鼓了一天的NDK,总结下。 Eclipse下开发ndk好像挺麻烦的样子,看书上要下载Cygwin,eclipse还要下载插件CDT。。而在AS上就方便多啦。下载android ndk。安装,配置环境,即可。 NDK(android native develop kits ):android 本地开发工具集 ,这些工具帮助开发者快速开发C或C++动态库,并自动将so和java文件打包成apk,可以把c/c++ ->编译成一个 linux下可以执行的二进制文件 java代码里面就可以通过jni 调用执行二进制的文件. JNI :java本地开发接口,JNI是一个协议这个协议用来沟通java代码和外部的本地代码(c/c++).通过这个协议,java代码就可以调用外部的c/c++,代码外部的c/c++代码也可以调用java代码。 JNI开发用途:Native code效率高,数学运算,实时渲染的游戏上,音视频处理(极品飞车,opengl,ffmpeg等。 一、配置NDK环境 下载NDK,网上有很多,下载好之后,解压即可。然后在AS中配置,依次点击:File ->ProjectStructure:如图: 配置好之后,会在项目下的local.properties文件里自动添加:ndk.dir=D\:\\android-ndk-r10d 如果没有就自己加上,我的是自动的。 二、建立app项目

RedisUtil工具类

笑着哭i 提交于 2020-02-06 04:06:34
转载: http://blog.csdn.net/liuxiao723846/article/details/50401406 1、使用了jedis客户端,对redis进行了封装,包括: 1)使用了redispool获取连接;以及连接的回收; 2)常用五种数据结构的常用操作封装; 1 package redis.utils; 2 3 import java.util.List; 4 import java.util.Map; 5 import java.util.Set; 6 7 //import org.apache.log4j.Logger; 8 9 10 import redis.clients.jedis.Jedis; 11 import redis.clients.jedis.JedisPool; 12 import redis.clients.jedis.JedisPoolConfig; 13 import redis.clients.jedis.SortingParams; 14 import redis.clients.jedis.BinaryClient.LIST_POSITION; 15 import redis.clients.util.SafeEncoder; 16 17 /** 18 * @author Mr.hu 19 * @version

centos免密码登录SSH

时间秒杀一切 提交于 2020-02-05 23:58:07
ssh-keygen创建公钥-私钥对 ssh-keygen -t rsa 然后一路回车, ll ~/.ssh/ -rw-------. 1 root root id_rsa -rw-r--r--. 1 root root id_rsa.pub 在home目录下创建了隐藏目录.ssh和私钥id_rsa和公钥id_rsa.pub文件 也可以增加一些定义来创建 s sh-keygen -t rsa -f ~/.ssh/key-id_rsa -P 'passwd' -C 'zhangsan 2020-1-1' -t: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa -f: 定义密钥目录位置/文件名, 默认为当前用户home下.ssh隐藏目录,默认密钥文件名以id_rsa开头。 -P -P '' 表示空密码,添加了密码,即使私钥被盗也无法使用,加了-P参数还免回车几次。 -C: 为此公钥添加指定注释, 如配置多个免密登录时, 公钥附带了注释就方便多了(于公钥密钥字符串后面) 配置密钥授权文件 将公钥放入指定目录文件authorized_keys中 cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys 调整文件夹和文件的权限 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

GitHub添加SSH keys

孤街醉人 提交于 2020-02-05 13:47:14
SSH keys是本地Git仓库和Github仓库之间传输的一种加密方式,添加SSH keys相当于将自己的电脑和自己的账户绑定,无需每次输入账号密码。 参考: git创建远程仓库并上传代码到远程仓库中 1、创建SSH keys 先看一下自己C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建。 youremail@example.com改为自己github账号的邮箱。 ssh-keygen -t rsa -C "youremail@example.com" 2、绑定SSH keys 浏览器登录自己的github,Settings/SSH and GPG keys/New SSH key。 Title随便写,把第1步中的id_rsa.pub用记事本打开,然后复制到Key里即可。 来源: CSDN 作者: 湖大李桂桂 链接: https://blog.csdn.net/qq_36017609/article/details/104180810

Redis 分布式锁实现

谁说我不能喝 提交于 2020-02-02 22:39:16
在分布式集群环境下,对 Redis 数据的修改也会发生冲突,这时候需要利用锁的机制,防止数据在同一时间被多个系统修改。 实现分布式锁的思路就是利用 Redis 的两个命令:setnx 和 setex,修改数据前使用 setnx 命令对操作加锁,防止其他系统执行相同操作,使用 setex 命令设置锁超时时间(这一步的目的是防止系统突然挂掉,没有解锁),在操作结束后,进行解锁。 我们新建一个任务 Scheduled,每10秒执行一次,在不同的机器(虚拟机)上启动相同的项目,因为锁的原因,同一时间只有一个任务被执行,代码如下: @Service public class LockNxExJob { private static final Logger logger = LoggerFactory.getLogger(LockNxExJob.class); @Autowired private RedisService redisService; @Autowired private RedisTemplate redisTemplate; private static String LOCK_PREFIX = "prefix_"; @Scheduled(cron = "0/10 * * * * *") public void lockJob() { String lock = LOCK