redis是一个key-value存储系统。它支持存储的value类型更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
对比MySQL数据库,redis的安装要比较方便,bing搜索都可以找到安装方法
这里介绍一个在MATLAB中操作redis的工具https://github.com/dantswain/redis-matlab
也可以在
https://gitee.com/sickle12138/redis-matlab
更方便的拉取
将src文件夹加入搜索路径之后就可以使用,目前只支持String(字符串)和Hash(哈希)结构
这里是测试
function test()
global R;
%将src文件夹加入搜索路径
addpath('../src')
[R, M] = redisConnection();
assert_string(M, 'OK');
[Value, R, M] = redisPing(R);
assert_string(Value, 'PONG');
[R, M] = redisSet(R, 'foo', 'bar');
assert_string(M, 'OK');
[R, M] = redisSet(R, 'foo', 1234);
assert_string(M, 'ERROR - SET VALUE MUST BE A STRING');
[Value, R, M] = redisGet(R, 'foo');
assert_string(M, 'OK');
assert_string(Value, 'bar');
% 只输出值
S = redisGet(R, 'foo');
assert_string(Value, 'bar');
redisDisconnect(R);
assert_string(R.status, 'closed');
disp('All tests passed!')
function assert_string(s1, s2, msg)
if nargin == 2,
msg = 'Error!';
end
if (iscell(s1))
assert(strcmp(s1, s2) ~= 0, sprintf('Expected %s == %s', s1{1}, s2))
else
assert(strcmp(s1, s2) ~= 0, sprintf('Expected %s == %s', s1, s2))
end
function assert(cond, msg)
global R;
if nargin == 1,
msg = 'Error!';
end
if ~cond,
fclose(R);
error(msg)
end