我有一个Spring boot应用程序,可以连接到AWS上的Redis集群。我正在尝试莴苣,想创建一个StatefulRedisConnection
,用于将键存储为字符串,而将值存储为字节数组。我尝试使用内置的ByteArrayCodec
,但它将键和值都作为字节数组。
我刚接触莴苣,所以我不确定是否需要编写自定义编解码器。如果是,我该怎么写?是否会出现性能问题?还是我走错了路?
我使用StatefulRedisClusterConnection连接到redis集群。没错,我没有在那里写数据,只是读了它。但是这种阅读结构对我来说已经成功了。
final RedisCodec<String, byte[]> codec = RedisCodec.of(new StringCodec(), new ByteArrayCodec());
final StatefulRedisClusterConnection<String, byte[]> connection = client.connect(codec);
下面的代码将允许您使用字符串键和字节数组作为值。
public class StringByteCodec implements RedisCodec<String, byte[]> {
public static final StringByteCodec INSTANCE = new StringByteCodec();
private static final byte[] EMPTY = new byte[0];
private final Charset charset = Charset.forName("UTF-8");
@Override
public String decodeKey(final ByteBuffer bytes) {
return charset.decode(bytes).toString();
}
@Override
public byte[] decodeValue(final ByteBuffer bytes) {
return getBytes(bytes);
}
@Override
public ByteBuffer encodeKey(final String key) {
return charset.encode(key);
}
@Override
public ByteBuffer encodeValue(final byte[] value) {
if (value == null) {
return ByteBuffer.wrap(EMPTY);
}
return ByteBuffer.wrap(value);
}
private static byte[] getBytes(final ByteBuffer buffer) {
final byte[] b = new byte[buffer.remaining()];
buffer.get(b);
return b;
}
}
问题内容: 像往常一样,我有责任到处寻找溶胶,但无济于事。 mysqli_fetch_assoc(显然)将我的数字存储为字符串。 通常,我不太关心,但是我的站点几乎是100%的ajax,并且它会移动大量数据,因此所有这些json’都开始累加。 如果我只是获取一个列值,则可以进行intval,但是我想获取具有相关列名的整个行。 有没有办法让mysqli_fetch_assoc(和PHP PDO的as
问题内容: 在我的应用程序中,我得到了带有描述性预定义标签的“文章”(类似于帖子/推文/文章):即“困难”,“简单”,“红色”,“蓝色”,“业务”等 这些可用标签存储在一个表中,称为包含所有可用标签的“标签”。 每篇文章都可以使用多个标签进行标记,这些标签可以通过自定义管理界面进行编辑。 可能很容易将每个实体的标签捆绑到每个标签ID的字符串化数组中,并将其与文章记录一起存储在我的“文章”表中: 尽
问题内容: 我有一个用Java创建的字节数组。它代表某些文件的内容。我不知道这个数组的最大大小。它可以是不同的大小。我想将其存储在mysql中。我应该在mysql中使用哪种类型? 问题答案: 使用,, Mysql为列选择正确的类型
我有一个函数应用,定义如下 其中< code > let-test-this-in 和< code > let-test-this-out 是连接字符串为< code >“defaultendpointsprocol=”的存储帐户下现有存储队列的名称...;account name =…;AccountKey= ... "(直接从门户中的访问键-连接字符串复制而来)。我发布时生成的function
我使用ServiceBustigger创建了一个Azure Function应用程序(监听主题订阅)。很好。但是现在我试图制作一个QueueTrigger来监听一个简单的队列,但是我得到了以下错误。 我也是这样做的。我在Visual Studio中创建了一个新项目,并将其指向我在Azure上的存储帐户。指定了队列名称。队列存在。我尝试创建一个新的共享访问策略。已将连接字符串复制到本地。设置。jso
是否需要其他数据来生成ConnectionString?