Simulation Core
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

57 рядки
1.4 KiB

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include "../include/hiredis.h"
  5. redisContext *context;
  6. char *result;
  7. void addnums( int* a, int* b )
  8. {
  9. int c = (*a) + (*b); /* convert pointers to values, then add them */
  10. printf("sum of %i and %i is %i\n", (*a), (*b), c );
  11. }
  12. void initConnection()
  13. {
  14. context = redisConnect("127.0.0.1", 6379);
  15. if (context == NULL || context->err) {
  16. if (context) {
  17. printf("Error: %s\n", context->errstr);
  18. // handle error
  19. } else {
  20. printf("Can't allocate redis context\n");
  21. }
  22. }
  23. }
  24. void setData(char *data)
  25. {
  26. redisReply *reply;
  27. // printf("Writing data to redis\n");
  28. // printf("First char =%c \n",data[0]);
  29. printf("%zu chars written\n",strlen(data));
  30. reply = redisCommand(context, "SET data %s",data);
  31. // printf("data written to redis: %s\n",reply->str);
  32. freeReplyObject(reply);
  33. }
  34. char *getData(int *len)
  35. {
  36. redisReply *reply;
  37. // printf("reading data from redis(c function)\n");
  38. reply = redisCommand(context, "GET data");
  39. // printf("data read from redis: %s\n",reply->str);
  40. // printf("reply->str: %s\n",reply->str);
  41. result = (char*) malloc(strlen(reply->str));
  42. strcpy(result,reply->str);
  43. *len = strlen(result);
  44. freeReplyObject(reply);
  45. return result;
  46. }
  47. void deallocData()
  48. {
  49. free(result);
  50. free(context);
  51. }