Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pika-proxy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dingjy
pika-proxy
Commits
1faa8602
Commit
1faa8602
authored
Aug 25, 2023
by
dingjy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify
parent
81819b23
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
2 deletions
+22
-2
CmdHandler.java
src/main/java/com/pika/proxy/handler/CmdHandler.java
+6
-1
PikaCmdHandler.java
src/main/java/com/pika/proxy/handler/PikaCmdHandler.java
+14
-0
MultiBulkResult.java
src/main/java/com/pika/proxy/result/MultiBulkResult.java
+2
-1
No files found.
src/main/java/com/pika/proxy/handler/CmdHandler.java
View file @
1faa8602
...
@@ -15,7 +15,10 @@ import java.nio.charset.StandardCharsets;
...
@@ -15,7 +15,10 @@ import java.nio.charset.StandardCharsets;
public
abstract
class
CmdHandler
{
public
abstract
class
CmdHandler
{
public
Result
exec
(
String
key
,
PikaCmdHandler
.
IHandle
handle
)
{
public
Result
exec
(
String
key
,
PikaCmdHandler
.
IHandle
handle
)
{
byte
[]
kb
=
getBytes
(
key
);
return
exec
(
getBytes
(
key
),
handle
);
}
public
Result
exec
(
byte
[]
kb
,
PikaCmdHandler
.
IHandle
handle
)
{
JedisPool
jp
=
getRedisShard
().
getPool
(
kb
);
JedisPool
jp
=
getRedisShard
().
getPool
(
kb
);
if
(
jp
==
null
)
{
if
(
jp
==
null
)
{
return
ErrorResult
.
SHARD_DISABLE_RESP
;
return
ErrorResult
.
SHARD_DISABLE_RESP
;
...
@@ -48,6 +51,8 @@ public abstract class CmdHandler {
...
@@ -48,6 +51,8 @@ public abstract class CmdHandler {
public
abstract
Result
set
(
String
key
,
byte
[]
value
)
throws
PikaException
;
public
abstract
Result
set
(
String
key
,
byte
[]
value
)
throws
PikaException
;
public
abstract
Result
mget
(
String
key
,
byte
[][]
keys
)
throws
PikaException
;
public
abstract
Result
setEx
(
String
key
,
int
second
,
byte
[]
value
)
throws
PikaException
;
public
abstract
Result
setEx
(
String
key
,
int
second
,
byte
[]
value
)
throws
PikaException
;
public
abstract
Result
setNx
(
String
key
,
byte
[]
value
)
throws
PikaException
;
public
abstract
Result
setNx
(
String
key
,
byte
[]
value
)
throws
PikaException
;
...
...
src/main/java/com/pika/proxy/handler/PikaCmdHandler.java
View file @
1faa8602
...
@@ -3,8 +3,11 @@ package com.pika.proxy.handler;
...
@@ -3,8 +3,11 @@ package com.pika.proxy.handler;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.pika.proxy.conf.PikaShardLoad
;
import
com.pika.proxy.conf.PikaShardLoad
;
import
com.pika.proxy.exceptions.PikaException
;
import
com.pika.proxy.result.*
;
import
com.pika.proxy.result.*
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
redis.clients.jedis.Jedis
;
import
redis.clients.jedis.JedisPool
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -29,6 +32,17 @@ public class PikaCmdHandler extends CmdHandler {
...
@@ -29,6 +32,17 @@ public class PikaCmdHandler extends CmdHandler {
return
exec
(
key
,(
bk
,
jedis
)->
new
StatusResult
(
jedis
.
set
(
bk
,
value
)));
return
exec
(
key
,(
bk
,
jedis
)->
new
StatusResult
(
jedis
.
set
(
bk
,
value
)));
}
}
public
Result
mget
(
String
key
,
byte
[][]
keys
)
{
Result
[]
rs
=
new
Result
[
keys
.
length
+
1
];
rs
[
0
]
=
exec
(
key
,(
bk
,
jedis
)->
new
BulkResult
(
jedis
.
get
(
bk
)));
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
rs
[
i
+
1
]
=
exec
(
keys
[
i
],(
bk
,
jedis
)->
new
BulkResult
(
jedis
.
get
(
bk
)));
}
return
new
MultiBulkResult
(
rs
);
}
@Override
@Override
public
Result
setEx
(
String
key
,
int
second
,
byte
[]
value
)
{
public
Result
setEx
(
String
key
,
int
second
,
byte
[]
value
)
{
return
exec
(
key
,
(
bk
,
jedis
)
->
new
StatusResult
(
jedis
.
setex
(
bk
,
second
,
value
)));
return
exec
(
key
,
(
bk
,
jedis
)
->
new
StatusResult
(
jedis
.
setex
(
bk
,
second
,
value
)));
...
...
src/main/java/com/pika/proxy/result/MultiBulkResult.java
View file @
1faa8602
...
@@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf;
...
@@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.nio.charset.Charset
;
import
java.nio.charset.Charset
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -57,7 +58,7 @@ public class MultiBulkResult extends Result<Result[]> {
...
@@ -57,7 +58,7 @@ public class MultiBulkResult extends Result<Result[]> {
int
i
=
0
;
int
i
=
0
;
replies
=
new
BulkResult
[
set
.
size
()];
replies
=
new
BulkResult
[
set
.
size
()];
for
(
String
key
:
set
)
{
for
(
String
key
:
set
)
{
replies
[
i
++]
=
new
BulkResult
(
key
.
getBytes
(
Charset
.
forName
(
"UTF-8"
)
));
replies
[
i
++]
=
new
BulkResult
(
key
.
getBytes
(
StandardCharsets
.
UTF_8
));
}
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment