我目前正在构建一个Web应用程序,并希望使用Redis来存储会话.登录时,会话将插入具有相应用户ID的Redis,并在15分钟时设置到期时间.我现在想要为会话实现反向查找(获取具有特定用户ID的会话).这里的问题是,因为我无法搜索Redis密钥空间,如何实现它.一种方法是为每个userId设置一个redis,包含所有会话id.但是由于Redis不允许集合中的项目到期,并且会话设置为过期,因此集合中将存在大量不存在的会话ID.
在密钥到期时从集合中删除ID的最佳方法是什么?或者,有没有更好的方法来实现我想要的东西(反向查找)?
我有一个刷卡删除,它绘制一个背景(很像收件箱应用程序),由ItemTouchHelper实现 - 通过覆盖onChilDraw方法并在提供的画布上绘制一个矩形:
ItemTouchHelper mIth = new ItemTouchHelper(
new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
remove(viewHolder.getAdapterPosition());
}
public boolean onMove(RecyclerView recyclerview, RecyclerView.ViewHolder v, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
View itemView = viewHolder.itemView;
Drawable d = ContextCompat.getDrawable(context, R.drawable.bg_swipe_item_right);
d.setBounds(itemView.getLeft(), itemView.getTop(), (int) dX, itemView.getBottom());
d.draw(c);
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
});
Run Code Online (Sandbox Code Playgroud)
上面调用的remove方法在Adapter中:
public void remove(int position) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从Scala案例类到map(field_name - > field_value)实现(de)序列化.问题是我不知道如何创建一个函数,它将采用case类类型和map,实例化,填充并返回它.我在一些JSON库中看到过这种情况,但我没有得到代码.
我目前需要基于 play-framework 和 akka 的 Web 应用程序的持久调度。我知道 akka 中有演员调度,但据我所知,它没有提供持久作业的机制。因此,即使几乎一切都失败了,也必须在重新启动后加载和执行作业。这些工作通常不会是周期性的。
什么样的系统可以完成这些事情,并且可能很好地集成到现有的基础设施(play、akka)中?
假设我有以下ascii十六进制字符串"4a65737573".我现在如何迭代它,包装固定数量的字符,但总是递增2.即4a65,6573,7375 ......