zw7534313
- 浏览: 1236808 次
- 性别:
- 来自: 北京
社区版块
- ( 0)
- ( 21)
- ( 1)
最新评论
-
mike_eclipse:
hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
july01:
推荐用stratoio打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写properties文件,不会出现中文乱码 -
tiger20111989:
...
spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
文章列表
在redis使用lua脚本的好处
减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。
原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他请求插入。因此在脚本运行过程中无需担心会出现竞态条件,无需使用事务。
复用。客户端发送的脚本会永久存在redis中,这样其他客户端可以复用这一脚本,而不需要使用代码完成相同的逻辑。
在redis中使用lua脚本
//返回redis中keys[1] 的值
retrun redis.call('get',keys[1])
local a=redis.call('time');
local b = (a[1]*1000000 a[ ...
- 2022-07-30 07:38
- 浏览 111
- 分类:编程语言
redis 脚本
redis 脚本使用 lua 解释器来执行脚本。 redis 2.6 版本通过内嵌支持 lua 环境。执行脚本的常用命令为 eval。
语法
eval 命令的基本语法如下:
redis 127.0.0.1:6379> eval script numkeys key [key ...] arg [arg ...]
如:获取当前时间
eval "local a=redis.call('time') ;return (a[1]*1000000 a[2])/1000 " 0
(1)script load script
将脚本 script 添加到脚本 ...
- 2022-07-30 07:15
- 浏览 114
- 分类:编程语言
a: setnx key value
将 key 的值设为 value,当且仅当 key 不存在。
若给定的 key 已经存在,则 setnx 不做任何动作。
setnx 是set if not exists的简写。
返回值
返回整数,具体为
- 1,当 key 的值被设置
- 0,当 key 的值没被设置
(1)setnx lock1 1
第一次设置lock1 返回 1
(2)再次设置 返回 0
setnx lock 1
(3) get lock1
b:解决死锁
检测到锁已超时,即当前的时间大于键 lock.foo 的值,p4会执行以下操作
getset lock1 < ...
- 2022-07-30 06:54
- 浏览 404
- 分类:编程语言
redis 有序集合(sorted set)
redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 o(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
自增: incr key1
自减: decr key1
返回值
实例
redis 127.0.0.1:6379&g ...
- 2022-07-30 06:34
- 浏览 431
- 分类:编程语言
redis cluster集群实现高可用
redis的主从和哨兵两种集群方案,redis从3.0版本开始引入了redis-cluster(集群)。
redis5.0.3
jedis2.9
整个集群有16384个slot
什么是哈希槽
redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。
redis 集群有16384个哈希槽,每个key通过crc16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽。
这种结构很容易添加或者删除节点,并且无论是添加删除或者修改某一个节点,都不会造成集群不可用的状态。
使用哈希槽的好处就在于可以方便的添加或移除 ...
- 2020-06-14 16:48
- 浏览 353
- 分类:编程语言
redis配置master/slave主从模式集群
http://download.redis.io/releases/redis-5.0.3.tar.gz
server1(172.25.2.1) redis主服务器 /home/redis 解压reids
server2(172.25.2.1) redis从服务器1 /home/redis2 解压reids
make malloc=libc
make install
server1的配置:redis.conf
bind 172.25.2.1
protected-mode no
port 6379
server ...
- 2020-06-14 15:48
- 浏览 249
- 分类:编程语言
import redis.clients.jedis.jedis;
public class redisjava {
private static string host = "192.168.1.101";
public static void main(string[] args) {
//isserverrunning();
// set(); //1.保存放键/值对
// setsiglelist(); //2.保存list
// getredisserverallkeys(); //3.获取所有的key
/ ...
redis作为dubbo服务的注册中心
dubbo 2.5.3
jedis 2.0.0
commons-pool 1.5.5
redis-4.0.1 6379
1.redis配置修改:
sentinel.conf
protected-mode no
redis.conf
bind 192.168.1.3
protected-mode no
./rediscli 进入命令行 输入 config set protected-mode no
2.服务端
- 2020-04-28 16:56
- 浏览 314
- 分类:编程语言
学习redis应用于缓存(1)
1.安装
www.redis.io 安装在linux环境下
$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz
$ cd redis-4.0.1
$ make
2.启动服务端和客户端
src/redis-server
src/redis-cli
3.存储数据类型
key: string
value: 6种基本的value类型
1:字符串string
2:哈希hash
3:字符串列表list
4:字符串集合set 不重复 ...
- 2020-04-28 16:54
- 浏览 196
- 分类:编程语言
1.启动server: redis-server.exe redis.windows.conf
2.启动client: redis-cli.exe
3.查询所有的key: keys *
4.del key
5.exists key
6.move key db
7.rename key newkey
8.renamenx key newkey
9.persist key
10.expire key seconds
11.expireat key timestamp
12.ttl key
13.randomkey
14.type key
15.sort key
- 2020-04-28 16:37
- 浏览 305
- 分类:编程语言